ontologias: definições e tipos - inf.ufes.brfalbo/files/oes/oes1-ontologias-definicoes... ·...

Post on 26-Sep-2018

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ontologias: Definições

e Tipos

Ricardo de Almeida Falbo

Ontologias para Engenharia de Software Departamento de Informática

Universidade Federal do Espírito Santo

Agenda

• O que é uma ontologia

• Tipos de Ontologias

• Ontologias e Engenharia de Software

Ontologia

• Origem: Filosofia

– Ont- + logia = estudo da existência

– Estudo dos tipos de coisas que existem

• Ontologia Formal: estruturas ontológicas formais (de forma)

– Teorias de partes e todos, tipos e instanciação, identidade, dependência, etc.

– O desdobramento de Ontologia Formal como uma disciplina da Filosofia tem por objetivo desenvolver um sistema geral de categorias, que pode ser usado no desenvolvimento de teorias científicas e teorias da realidade específicas de domínio , de senso comum.

Ontologia

• Ontologia Aplicada:

– Teorias ontológicas formais desenvolvidas e aplicadas na solução de problemas nos campos da Ciência da Computação, Ciência da Informação e, em especial, Modelagem Conceitual.

• ontologias em Ciência da Computação: Inteligência Artificial, Engenharia de Software, Bancos de Dados, Web Semântica

– Um artefato, constituído de conceitos e relações, suas definições e um conjunto de axiomas formalizados, usados para criar novas relações e para restringir as suas interpretações .

O que é uma ontologia?

• Uma ontologia é uma descrição parcial e explícita de uma conceituação compartilhada.

• Uma conceituação, por sua vez, corresponde ao conjunto de conceitos e relações usados para interligar abstrações de entidades de um dado universo de discurso.

• Uma ontologia é uma especificação conceitual que descreve o conhecimento sobre um universo de discurso. Ela define um vocabulário específico usado para descrever uma certa realidade e um conjunto de decisões explícitas para estabelecer precisamente o significado pretendido desse vocabulário.

O que é uma ontologia?

• Gruber (1993): especificação explícita de uma conceituação (“explicit specification of a conceptualization”).

• Borst (1997): especificação formal de uma conceituação compartilhada (“formal specification of a shared conceptualization”).

• Studer et al. (1998): especificação explícita e formal de uma conceituação compartilhada (“a formal, explicit specification of a shared conceptualization”).

O que é uma ontologia?

• Conceituação

• Especificação formal e explícita

• Compartilhada

O que é uma ontologia?

• Conceituação: os objetos, conceitos e outras entidades que assume-se existir em alguma área de interesse e as relações que existem entre eles. Uma conceituação é uma visão do mundo abstrata e simplificada, que desejamos representar para algum propósito (Genesereth and Nilsson).

• Especificação formal e explícita

• Compartilhada

O que é uma ontologia?

• Conceituação

• Especificação formal e explícita

– Necessidade de uma linguagem para se referir aos elementos de uma conceituação

• Compartilhada

O que é uma ontologia?

• Conceituação

• Especificação formal e explícita

• Compartilhada: uma ontologia somente será útil se houver uma comunidade que se compromete (que compartilha) com a conceituação a ela subjacente.

Tipos de Ontologias

• Quanto ao grau de generalidade

Ontologia de Fundamentação

Ontologia de Domínio Ontologia de Tarefa

Ontologia de Aplicação

Ontologia

Formal

Conceitos muito

gerais que se

aplicam às

diversas áreas de

conhecimento

(objeto, evento,

ação, tempo etc.)

Exemplo: Ontologia de Fundamentação Unificada

• Unified Foundational Ontology (UFO) (Guizzardi, 2005) (Guizzardi et al., 2008)

• Desenvolvida baseada em um número de teorias das áreas de Ontologia Formal, Lógica Filosófica, Filosofia da Linguagem, Linguística e Psicologia Cognitiva.

Unified Foundational Ontology (UFO)

UFO-A (Aspectos Estruturais)

(Objetos, seus tipos, partes e todos,

papéis que desempenham, suas

propriedades intrínsecas e relacionais

espaços de valores de propriedades etc.)

UFO-B (Aspectos Dinâmicos)

(Eventos e suas partes, relações entre

eventos, participação de objetos em

eventos, propriedades temporais de

entidades, tempo, etc.)

UFO-C (Aspectos Sociais)

(Agentes, estados intencionais, objetivos, ações, normas,

compromissos e reivindicações sociais, relações de dependência social etc.)

Tipos de Ontologias

• Quanto ao grau de generalidade

Ontologia de Fundamentação

Ontologia de Domínio Ontologia de Tarefa

Ontologia de Aplicação Conceitos, relações e

restrições relativos a um

domínio de conhecimento

específico, p.ex., leis,

medicina etc.

Ontologia de Teste de Software

Tipos de Ontologias

• Quanto ao grau de generalidade

Ontologia de Fundamentação

Ontologia de Domínio Ontologia de Tarefa

Ontologia de Aplicação Conceitos, relações,

restrições e ações

relacionados a uma tarefa

específica, p.ex., venda,

locação, designação etc.

Ontologia da Tarefa de Gerência de Configuração

Ontologia da Tarefa de Gerência de Configuração

Tipos de Ontologias

• Quanto ao grau de generalidade

Ontologia de Fundamentação

Ontologia de Domínio Ontologia de Tarefa

Ontologia de Aplicação

Contém as definições necessárias para modelar o

conhecimento requerido por uma aplicação particular.

Modelo

Conceitual de

uma Aplicação

Ontologia de Aplicação

• Uma ontologia para uma aplicação de gerência de configuração de casos de teste poderia ser construída baseada na ontologia de domínio de teste de software e na ontologia de tarefa de gerência de configuração.

Tipos de Ontologias: quanto ao grau de generalidade

Ontologias de

Fundamentação

mais geral mais específica

Ontologias de

Domínio

Ontologias de

Aplicação

UFO

DOLCE

Ontologia de Teste

de Software

UFO-A

UFO-C

Tipos de Ontologias: quanto ao grau de generalidade

Ontologias de

Fundamentação

mais geral mais específica

Ontologias de

Domínio

Ontologias de

Aplicação

UFO-A/B

DOLCE

Ontologia de Teste

de Software

Como classificar uma Ontologia de Processo de Software?

UFO-C

Tipos de Ontologias: quanto ao grau de generalidade

Ontologias de

Fundamentação

mais geral mais específica

Ontologias de

Domínio

Ontologias de

Aplicação

UFO-A/B

DOLCE

Ontologia de

Teste de

Software

Ontologia de

Processo de

Software UFO-C

Ontologia de Medição

Tipos de Ontologias: quanto ao grau de generalidade

Ontologias de

Fundamentação

mais geral mais específica

Ontologias de

Domínio

Ontologias de

Aplicação

UFO-A/B

DOLCE

Ontologia de

Teste de

Software

Ontologia de

Processo de

Software UFO-C

Core

Ontologies

Visão de Engenharia de Software

Modelagem Conceitual

Implementação1

Implementação2

Implementação3

Visão de Engenharia de Software

Modelagem Conceitual

Implementação1

Implementação2

Implementação3

DESIGN

Visão de Engenharia de Software tansportada para a Engenharia de Ontologias

Reference Ontology

Operational Ontology1

(coded in OWL-DL)

Ontology Conceptual Modeling

Ontology Design

Ontology Implementation

Operational Ontology2

(coded in Alloy)

Operational Ontology3

(coded in F-Logic)

DL-like Design Frame-based Design

Tipos de Ontologias

• Ontologia de Referência: visa prover uma descrição clara e precisa dos elementos de um domínio para os propósitos de comunicação, aprendizado e resolução de problemas. É usada para apoiar humanos em tarefas de negociação de significado e estabelecimento de consenso.

• Ontologia Operacional: versão implementada de uma ontologia de referência em uma linguagem passível de processamento por máquinas.

– Ontologias operacionais não enfocam a adequação da representação. Elas são projetadas para garantir propriedades computacionais desejáveis.

Tipos de Ontologias

• Ontologias Pesadas (heavyweight ontologies): ontologias fortemente axiomatizadas, procurando definir precisamente o significado das entidades.

• Ontologias Leves (lightweight ontologies): ontologias não axiomatizadas e, portanto, sem definição precisa do significado das entidades.

Aplicações de Ontologias em ES

• São muitas as aplicações de ontologias em Engenharia de Software:

– Interoperabilidade Semântica

• Integração Semântica de Sistemas

• Dados Ligados (Linked Data)

• Harmonização / Integração de Padrões de Engenharia de Software

• etc.

– Ontologias no Desenvolvimento de Software • Engenharia de Requisitos

• Model-Driven Engineering

• Semantic Web Services

• etc.

Aplicações de Ontologias em ES

– Semântica em Aplicações de Software

• Web Semântica

• Gestão do Conhecimento / Documentação Semântica

• Ferramentas CASE e Ambientes de Desenvolvimento de Software

• etc.

top related