Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE.

Slides:



Advertisements
Apresentações semelhantes
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Advertisements

Engenharia de Software
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Evolução dos SGBD’s (2ª Parte).
Lógica Matemática e Computacional 7 – Introdução à Programação Lógica
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Maurício Edgar Stivanello
Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 7 de abril de.
Modelagem Orientada a Objetos
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
SISTEMA É UMA ENTIDADE QUE MANTEM SUA EXISTÊNCIA ATRAVÉS DA INTERAÇÃO DE SUAS PARTES ( Bertalanffy ) Interação Mútua Diferente duma simples.
Metodologias Orientadas a Agentes
Agentes Baseados em Conhecimento
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
1.Consciência (Chalmers,1997)
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Princípios e Conceitos de Software(v2)
Análise e Projetos de Sistemas UML-Linguagem de Modelagem Unificada Modelo de Dados com UML Diagrama de Classes Professor: Armando Hage.
TÉCNICAS DE PROGRAMAÇÃO II
Tesauros José Antonio M. Nascimento.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Sistemas Inteligentes Ontologia e Protegé
Universidade Federal de Lavras - UFLA
PETER ANTONY RAUSCH JOYCE MARTINS
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Engenharia do Conhecimento
Engenharia do Conhecimento Ernesto Trajano Jacques Robin CIn-UFPE.
Introdução às Ontologias
Projeto de Banco de Dados
FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
Heron Vieira Aguiar “Seminário da disciplina MDA” Julho de 2006
Ontologias Profa. Lillian Alvares
SISTEMAS DISTRIBUIDOS Aula 4
A abordagem de banco de dados para gerenciamento de dados
© Ricardo Pereira e Silva
O Processo Unificado (UP)
Banco de Dados Aplicado ao Desenvolvimento de Software
CIn- UFPE 1 Construindo Bases de Conhecimento Lógica de Primeira Ordem eficiente para representar conhecimento e para raciocinar porém, nada diz sobre.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Sistemas Especialistas
Generalização e herança Agregação e composição
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos Professor: Cheli Mendes Costa Introdução a Programação Orientada.
Ferramentas de Suporte a MDD: Um Quadro Comparativo
Desenvolvimento de Software Dirigido a Modelos
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Web Semântica Thiago José Marques Moura. Roteiro Problemática; Descrição; Arquitetura Proposta; Conclusão sobre Web Semântica; Linguagens de Anotação.
Linguagem de Modelagem Unificada
MDA – Model Driven Architecture Jean Elder – RARCS (2013-1)
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Franklin de Souza Ramalho
Modelagem Conceitual descreve a informação que o sistema vai gerenciar.
METHONTOLOGY Sandro Rautenberg
Utilização de Ontologias para Integração de Heterogeneidade Semântica
Tesauro, Taxonomia e Ontologia: uma evolução?
Introdução à modelagem orientada a objetos
Uso de Ontologias em Data Warehousing
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
Gerenciamento de Configuração de Software
Ontologias Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
MDA na Prática Flávia Durans Pitta Marinho
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

Ontologias e Restrições OCL Fábio Moura Franklin Ramalho Jacques Robin CIn-UFPE

Roteiro  Ontologias  O que é uma ontologia?  Elementos de uma ontologia  Origem e motivação das ontologias  Tipologias das ontologias  Exemplo de ontologia conceitual especialista  Exemplo de ontologia conceitual geral  Exemplo de ontologia lingüística geral  Problemática geral e questões sobre ontologias  OCL  MDA e o uso de OCL  OCL 1.4  OCL 2  Usando OCL para MDA

Ontologias

O que é uma ontologia? formal explícita concepção compartilhada  Definição: especificação (semi-)formal explícita de uma concepção compartilhada  Concepção:  Concepção: modelo das entidades, relações, axiomas e regras de algum domínio  Formal: processável por máquina permitindo raciocínio automático com semântica lógica formal  Compartilhada:  Compartilhada: por uma comunidade, permitindo entendimento  Conceitos de computação relacionados:  Base de conhecimento reutilizável  Esquema de banco de dados

Elementos de uma ontologia  Hierarquia de conceitos:  entidades cada entidade definida por conjunto de pares atributo-valor correspondem:  as classes dos modelos orientado a objetos  as entidades do modelo relacional  aos termos do modelo lógico atributos propriedades x atributos relações  preenchidos por valores atômicas (tipos primitivos) x por outros conceitos Status epistemológico do valor  Exatamente conhecida, default, probabilista  relações sem hierarquia x em hierarquia paralela a hierarquia de entidades correspondem:  associações, agregações e atributos dos modelos OO cujos valores são objetos  as relações do modelo relacional  aos predicados do modelo lógico

Elementos de uma ontologia  Restrições:  sobre valores possíveis dos atributos dos conceitos  correspondem: as assinaturas de classes em modelos OO as axiomas universalmente quantificados em modelos lógicos as restrições de integridade nos esquema de BD  Regras dedutivas:  sobre atributos de (conjunto de) conceitos  permitem inferência automática da existência de instâncias de conceitos a partir da existência de outras instâncias  correspondem: as regras dos sistemas especialistas e programação em lógica aos métodos dos modelos OO as visões em BD

Elementos de uma ontologia  Instâncias de conceitos:  definição de entidade e relações específicos (indivíduos)  correspondem: aos fatos de sistemas especialistas e programação em lógica aos objetos dos modelos OO aos dados dos BD

Serviços suportados por uma ontologia  Consultas e manipulação:  correspondem: métodos de acesso a valor e de reflexão em linguagens OO consultas de interrogação e manipulação em BD ask, tell e retract das bases de conhecimento  sobre conceitos: Quais são as entidades E relacionadas a entidade 0 via relações r1, r2? Quais são as relações R mais gerais que r1? Definição d de entidade E é consistente com o resto da ontologia?  sobre instâncias um indivíduo I com propriedades P1,..., Pn é instância de quais conceitos?  Raciocínio automático  geralmente dedutivo

Origem e motivação para ontologias Gerenciamento do Conhecimento em Organizações desde 90 Integração de Dados desde 95 Sistemas Multi-agentes desde 95 Recuperação de Informação na Web desde 00 Psicologia Cognitiva desde 60 Lingüística desde 60 Sistemas Especialistas desde 80 Processamento de Linguagem Natural desde 80 Ontologias Filosofia desde 350 A.C. Engenharia de Software: requisitos e reuso desde 90

Tipologia das ontologias  Especialista:  Especialista: modela um domínio particular restrito  Geral:  modela o conhecimento de senso comum compartilhado por todos os seres humanos  parte de mais alto nível, reutilizável em vários domínios  Conceitual:  Conceitual: fundamentada na capacidade de raciocinar  Lingüística:  Lingüística: fundamenta no vocabulário de uma(s) língua(s)  De meta-dados:  De meta-dados: “especializada” na descrição de recursos on-line, no entanto sobre qualquer domínio  De tarefas e métodos:  De tarefas e métodos: modela procedimentos e comportamentos abstratos no lugar de entidades ou relações

Exemplo de ontologia especialista: fragmentos de uma ontologia acadêmica em UML

Exemplo de ontologia conceitual geral: fragmentos da ontologia de senso comum de Russell e Norvig em UML

Sub-problemas de modelagem de uma ontologia geral  Categorias e conjuntos  Medidas  Objetos compostos  Tempo  Espaço  Mudanças  Eventos e processos  Objetos físicos  Substâncias  Objetos mentais e crenças

Ontologias Genéricas: Categorias  Também chamadas de classes, relações, tipos...  conjuntos de objetos com propriedades comuns  organiza e simplifica a base de conhecimento.  Exemplos de simplificação:  comprar(Maçã 123 ) x comprar(Maçã) - classe-instância  Todo mamífero bebe leite - herança  Taxonomia:  tipo particular de ontologia: relações hierárquicas entre classe e sub-classes em forma de árvores  propriedades discriminantes ex. biologia sistemática  Relações  Disjunção  Decomposição exaustiva  Partição: decomposição exaustiva disjunta

Ontologias Genéricas: também podem representar  Medidas  Valores atribuídos às propriedades dos objetos do mundo real: peso, comprimento, altura, etc...  Objetos compostos  formados por partes que também são objetos: relação “parte- de”.  Mudanças com eventos  Cálculo de eventos: um fato é verdade em um intervalo de tempo.

Medidas  Valores atribuídos aos objetos do mundo real: servem para descrever objetos  ex. peso, comprimento, altura, diâmetro,...  Medidas quantitativas são fáceis de representar  ex. Tamanho(L 1 ) = Polegadas(1,5) = Centímetros (3,81)  Medidas qualitativas são mais complicadas  ex. beleza de um poema, dificuldade de um exercício  O importante é ordenar  e 1, e 2 e 1  Exercícios  e 2  Exercícios  Elabora(João,e 1 )  Elabora(Pedro,e 2 )  Dificuldade(e 1 ) < Dificuldade(e 2 )

Objetos Compostos  Objetos formados por partes que também são objetos  São caracterizados pela estrutura dos objetos que os compõem  ex. massa de um carro é a soma das massas de suas partes(carroceria, motor, pneu,...)  Para representá-los, usamos a relação ParteDe  e.g., ParteDe(motor, Carro), ParteDe(pneu, Carro)  Exemplo:  a Bipede(a)   l1, l2, b Perna(l1)  Perna(l2)  Corpo(b)  ParteDe(l1,a)  ParteDe(l2,a)  ParteDe(b,a)  Ligado(l1,b)  Ligado(l2,b)  l1  l2   l3 Perna(l3)  ParteDe(l3,a)  (l3 = l1  l3 = l2)

Objetos Compostos  ParteDe também serve para descrever estrutura de eventos: Script ou Schema  ex. comer no restaurante  Quando se está interessado apenas nas características do conjunto: BunchOf  ex. peso do saco de Maçãs  BunchOf(Maçãs) define um objeto composto formado pelas Maçãs do saco.

Representando Mudanças com Eventos  Cálculo de situações:  adequado quando temos um único agente realizando ações discretas e instantâneas (uma ação por situação).  inadequado quando: existem vários agentes no mundo. o mundo pode mudar espontaneamente. mudanças ocorrem continuamente.  Cálculo de eventos: versão contínua do calculo de situações  No cálculo de situações, um fato é verdade em uma situação  No cálculo de eventos, uma coisa é verdade num intervalo de tempo ex. SubEvento(BatalhaDaNormandia,SegundaGuerraMundial) SubEvento(SegundaGuerraMundial, SéculoXX)

Exemplo de ontologia lingüística geral: fragmentos de WordNet em UML

Wordnet Princeton WordNet: redes semântica de significados de palavras ( substantivos) do inglês organizados em 4 categorias sintática: substantivos, verbos, adjetivos e advérbios, são agrupados em conjuntos de sinônimos disponível online: resulta de 15 anos de desenvolvimento manual por time de psico-lingüistas EuroWordNet: Resultado de um grande projeto da comunidade européia Versão multi-língua adicionando e inter-ligando WordNets do Espanhol, Francês, Italiano, Alemão, Holandês, Tcheco e Estoniano ao do Inglês

Wordnet antonímia meronímia (parte-de) family, household, menage Person, individual, someone, human sister, sis arm relative, relation unit, social unit Brother, blood brother body,organic structure leg hipernímia (generalização) Legenda: sinonímia

WordNet Online

Aplicações com o WordNet  Extração e recuperação de informação  Classificação de texto  Ensino de linguagens  Construção de redes semânticas em outras linguagens (EuroWordnet)  Chatterbots (Geração e interpretação de texto)

Web Semântica  Extensão da Web atual  Visa adicionar informações sobre o conteúdo das páginas HTML, que sejam computacionalmente manipuláveis, de forma a proporcionar automação, compartilhamento, integração e reuso de informação em vários níveis e a várias aplicações  Desenvolvimento do RDF (Resource Description Framework)  Um modelo de metadados para representação de informações na web  Tem como o seu principal veículo de transporte o XML, combinação esta conhecida como RDF/XML  Tem como origem as idéias da Semantic Net, fazendo uso de relacionamentos como classes e instâncias com significados já bem conhecidos

Web Semântica – Arquitetura Dados Web Semântica Engenho de Busca Ontologia Camada de Estrutura Camada de Esquema Regras de Inferência Camada Lógica …E-commerce

Web Semântica – Arquitetura  Camada de Estrutura  Responsável por estruturar os dados e definir seu significado  Camada de Esquema  Responsável por definir relações entre os dados  Uso de ontologias em páginas web torna mais simples a resolução de indefinição ou conflito de terminologia  Camada Lógica  Responsável por definir mecanismos para fazer inferência sobre os dados  Composta por um conjunto de regras de inferência  Regras de inferência fornecem aos agentes computacionais o poder de raciocinar sobre as estruturas de dados

Problemática geral e questões sobre ontologias  Divisão:  como delimito as classes e os atributos?  quais são as distinções que trazem valor agregado?  Escopo:  qual conhecimento incluir?  qual a fronteira do meu domínio?  Granularidade:  até que nível de detalhe modelar os domínio?  problema da ramificação?  Validação:  como avalio a qualidade do modelo?  como escolho entre várias modelagem alternativas (as vezes propostas por pessoas diferentes)?]  como identificar aspectos importantes que estão faltando?

Problemática geral e questões sobre ontologias  Muito difícil responder a essas perguntas porque:  Almejados reuso e relativa independência de aplicação impedem ser guiado completamente pelos requisitos de uma aplicação restrita  Para ontologias gerais de senso comum pior devido a imensidão em largura e profundidade do conhecimento a modelar  Metodologias ainda incipientes  Methontology:  Sensus:  No entanto, já existe tentativa de padronização:

OCL Object Constraint Language

MDA (Model Driven Architecture)  Desenvolvida pelo OMG (Object Management Group)  Princípios  Aplicações podem ser criadas de maneira independente das infra-estruturas que elas usam  Desenvolvido para ajudar organizações a rapidamente adotarem novas tecnologias e conceitos sem a necessidade de reescreverem completamente os seus sistemas  Tem por base em um conjunto de padrões (UML2, OCL2, QVT, MOF,...)  impõe disciplina no processo de desenvolvimento  Seu coração: UML  usa diagramas – “modelos” – para projetar e descrever software  Model Driven Development (MDD) – o uso de modelos é uma parte essencial do processo de desenvolvimento  Model-to-model transformation – habilidade de gerar uma aplicação inteira sem escrever uma única linha de código

MDA  Desafios  Maturidade dos padrões Adotados: UML2 e OCL2 Não finalizados: JMI (Java Metadata Inteface) e QVT (Query, Views, Transformations)  Complexidade de UML Necessidade de um especialista em modelagem Pode afetar o time-to-market Aumento do rigor e treinamento  MDA não pode fazer tudo Geração de 100% do código para todos os problemas computacionais  “MDA is touted as the biggest shift in software development since the move from assembler machine code to the first high-level languages” Borland

MDA  PIM (Platform Independent Model), PSM (Platform Specific Model) e Código PIM PSM Código primeira transformação primeira transformação segunda transformação segunda transformação

MDA e o Uso de OCL

 Para aplicar o processo MDA:  Modelos no nível de maturidade 4 são necessários  Melhor escolha: UML  Mas, apenas UML não é suficiente context Flight inv: passengers->size() <= plane.numberOfSeats

Restrições  Constraint – útil para adicionar novos significados aos diagramas  Uma restrição aplicada ao modelo OO restringe um ou mais valores do modelo [Warmer and Kleppe].  Restrição declarativa – apenas declara o que deve ser verdadeiro no modelo;  Restrição Operacional – quando violada, dispara um gatilho para uma operação que deve ser executada

OCL UML OCL

Continua...