ontologias: definições e tipos - inf.ufes.brfalbo/files/oes/oes1-ontologias-definicoes... ·...
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.