Ontology Patterns. Ricardo de Almeida Falbo. Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo

Documentos relacionados
SABiO: Systematic Approach for Building Ontologies

Requisitos de Ontologias

Arquitetura e Modularização de Ontologias

Ontologias: Definições e Tipos

Ontologias: Definições e Tipos

Modelagem Conceitual com OntoUML Tipos de Objetos

SABiO: Systematic Approach for Building Ontologies

Ontologias de Engenharia de Software

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Lista de Exercícios AV1

Roni Fabio Banaszewski UTFPR Universidade Tecnológica Federal do Paraná

Prof. Dr. Thiago Jabur Bittar

OntoUML Tipos de Propriedades

5 Usando as Representações de Design Rationale

Uso de Ontologias de Fundamentação na. Engenharia de Ontologias. Ricardo de Almeida Falbo

Engenharia de Software

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Engenharia de Requisitos

Gestão de Ontologias

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira

5 Conclusão e trabalhos futuros

Modulo I Princípios e Padrões de Projeto de SW em Java

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

Padrões de Projeto de Software

Engenharia de Software

Módulo I Princípios e Padrões de Projeto de SW em Java

Marilan Ricardo Tagliari - TCC Marilan Ricardo Tagliari - TCC Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl

Engenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais

Avaliação de Ontologias

Engenharia de Requisitos

UML (Unified Modelling Language)

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Modelagem de Processos

Técnicas para Reutilização de Software

Visão Geral de Engenharia de Software

MODELAGEM DE DADOS UNIDADE 3 Modelo Entidade-Relacionamento. Luiz Leão

Frameworks. SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013

ONTOLOGIAS E ONTOLOGIAS DIFUSAS

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

INF1013 MODELAGEM DE SOFTWARE

5 Detalhamento da arquitetura para OnOCs

Modelagem Conceitual com OntoUML

Requisitos de Sistemas

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Ontologias: Definições e Tipos

Padrões de Modelagem e Regras de Construção de Modelos para a criação de Ontologias de Domínio Bem-Fundamentadas em OntoUML

Reutilização de Software

Modelagem de Sistemas

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

Avaliação de Ontologias

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE

Análise e Projeto Orientados a Objetos

Engenharia de Software

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

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

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

Projeto de software Estrutura do software e arquitetura SWEBOK

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

Obtendo Interoperabilidade Semântica em Sistemas. Metamorphosis

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Introdução ao RUP Rational Unified Process

UMA PROPOSTA DE ESPECIFICAÇÃO DA FERRAMENTA S.A.Do.M (Software Artifacts Documentation and Management)

ENGENHARIA DE SOFTWARE

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

ONTOBRAS Seminário de Pesquisa em Ontologia do Brasil

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA SAÚDE PROGRAMA DE MESTRADO PROFISSIONAL EM INFORMÁTICA EM SAÚDE

Desenho e documentação de arquitectura de software e de aplicações empresariais

Requisitos de Software e UML Básico. Janaína Horácio

Uma Notação Visual para Representação de Linguagens de Padrões Ontológicos

Documento de Especificação de Projeto

Mas o que é mesmo Padrão de Projeto?

Visão Geral do RUP.

Introdução a UML (Unified Modeling Language)

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc.

AVALIANDO METODOLOGIAS DE DESENVOLVIMENTO DE APLICAÇÕES WEB.

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

SEMESTRE LETIVO DO ANO: 2017/1 PLANO DE ENSINO DA DISCIPLINA BLOCO I IDENTIFICAÇÃO. (não preencher)

SISTEMAS DE INFORMAÇÃO UML UMA VISÃO GERAL

Aula 1: Apresentação. Revisão para Prova 1. Aula 2: Motivação. O que é software? Eng. de Software em Camadas. O que é Engenharia de Software?

Frameworks. Viviane Torres da Silva

ENGENHARIA DE SOFTWARE

Abordagem ER. Capítulo 2

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

Aplicações de Ontologias em Engenharia de Software

Processos de Software

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

A Web Semântica: Conceitos e Aplicações. Valéria M. Pequeno Universidade Autónoma de Lisboa

Requisitos de sistemas

Rosana T.Vaccare Braga

2 Metodologias para Projetos de Aplicações Hipermidia

Introdução à Gestão de Processos de Negócios

METODOLOGIA ÁGEIS FDD FEATURE DRIVEN DEVELOPMENT. Prof. Fabiano Papaiz IFRN

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Linguagem de Padrões para Planejamento de Medição de Software para o CEP

Engenharia de Software

Transcrição:

Ontology Patterns Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo

Agenda Reutilização na Engenharia de Ontologias Ontology Patterns Tipos de Ontology Patterns Descrição de Ontology Patterns Organizando Ontology Patterns extreme Design Processo de Reúso Baseado em Padrões em SABiO

Reutilização na Engenharia de Ontologias Cenários típicos (Gangemi; Presutti, 2009): Procurar por ontologias existentes (tipicamente na Web), avaliá-las, selecionar alguma(s) dela(s) e adaptá-la(s) considerando os requisitos do projeto em questão. Reutilizar core ontologies que supostamente podem ser reusadas e especializadas diretamente.

Reutilização na Engenharia de Ontologias Problema: Ontologias selecionadas para reúso são geralmente grandes e cobrem um espectro mais amplo do que aquele que o designer necessita. É difícil reusar apenas fragmentos úteis de uma ontologia. Custo do reúso pode ser maior do que construir uma nova ontologia a partir do zero. Algumas ontologias pequenas e simples (tal como FOAF) têm demonstrado o potencial de ontologias realmente reutilizáveis.

Ontology Patterns (OPs) Suposição: Há classes de problemas que podem ser resolvidos pela aplicação de soluções comuns. OPs são soluções de modelagem para problemas recorrentes no desenvolvimento de ontologias (Gangemi; Presutti, 2009). Um OP descreve um particular problema recorrente de modelagem que se apresenta em alguns contextos de desenvolvimento de ontologias e apresenta uma solução comprovada para o problema (Falbo et al. 2013).

Ontology Patterns (OPs) Idealmente, uma ontologia pode ser desenvolvida pela composição de OPs, usando as dependências apropriadas entre eles, mais a expansão necessária para satisfazer necessidades específicas. OPs tipicamente emergem de experiências em projetos de engenharia de ontologias, em diferentes domínios, para diferentes tarefas, e quando trabalhando com especialistas com backgrounds heterogêneos (Gangemi; Presutti, 2009).

Patterns em Engenharia de Software Analysis patterns Modelagem Conceitual Architectural patterns Projeto Arquitetônico Design Patterns Projeto Detalhado Idioms (Programming Patterns) Implementação

Tipos de Ontology Patterns Segundo (Falbo et al., 2013)

Processo de Desenvolvimento de Ontologias e Ontology Patterns

Descrição de Ontology Patterns Segundo (Gangemi; Presutti, 2009) Nome: Intenção: descreve o caso de uso genérico tratado pelo padrão. Questões de Competência: questões de competência que o padrão procura responder; Também conhecido como: outros nomes pelos quais o padrão é conhecido; Cenários: provê exemplos que podem ser modelados usando o padrão;

Descrição de Ontology Patterns Segundo (Gangemi; Presutti, 2009) Diagrama: diagrama de classes UML representando o padrão; Elementos: descreve os elementos (classes e relações) incluídos no padrão e seus papéis no padrão; Consequências: descrição dos potenciais benefícios e tradeoffs do uso do padrão; Usos conhecidos: dá exemplos de ontologias reais onde o padrão foi aplicado; Extraído de: provê a referência à ontologia/esquema conceitual (se houver algum), de onde o padrão foi extraído/reutilizado;

Descrição de Ontology Patterns Segundo (Gangemi; Presutti, 2009) Padrões relacionados: indica outros padrões que relacionados e que podem ser utilizados em conjunto com o padrão sendo descrito; Implementação: provê referências a implementações do padrão (p.ex., URI de um arquivo OWL contendo a implementação do padrão).

Exemplos de Ontology Patterns Information Realization CP (Presutti; Gangemi 2008) (Gangemi; Presutti, 2009). Intent: to represent relations between information objects and their physical realizations Competency questions: Which physical object realizes a certain information object? Which information object is realized by a certain physical object? Extracted from: the Dolce Ultra Lite ontology available at http://www.loa-cnr.it/ontologies/dul.owl Examples: that CD is the recording of The Dark Side of the Moon Diagram

Exemplos de Ontology Patterns Elements: InformationObject: a piece of information, such as a law, song, a text, a picture, independently from how it is concretely realized. InformationRealization: a concrete realization of an InformationObject, e.g. the written document containing the text of a law. isrealizedby (inverse: realizes): a relation between an Information Object and an Information Realization, e.g. a paper copy of the Italian Constitution realizes the text of the Constitution.

Exemplos de Ontology Patterns Time Indexed Person Role (Presutti; Gangemi, 2008) (Gangemi; Presutti, 2009). Intent: to represent time indexing for the relation between persons and roles they play. Competency questions: Who was playing a certain role during a given time interval? When did a certain person play a specific role? Extracted from: the Dolce Ultra Lite ontology available at http://www.loa-cnr.it/ontologies/dul.owl Examples: George W. Bush was the president of the United States in 2007 Consequences: the CP allows to assign a time interval to roles played by people. Diagram:

Exemplos de Ontology Patterns (Presutti; Gangemi, 2008)

Exemplos de Ontology Patterns Elements: Entity: anything real, possible, or imaginary, which some modeler wants to talk about for some purpose. Person: persons in commonsense intuition, i.e. either as physical agents (human) or social persons. Role: a Concept that classifies a Person. TimeInterval: any region in a dimensional space that aims at representing time. TimeIndexedPersonRole: a situation that expresses time indexing for the relation between persons and roles they play. hasrole (inverse: isroleof): a relation between a Role and an Entity isroleof: a relation between a Role and an Entity issettingfor (inverse: hassetting): a relation between time indexed role situations and related entities, e.g. I was the director between 2000 and 2005, i.e. the situation in which I was a director is the setting for a the role of director, me, and the time interval.

Usando Ontology Patterns O reúso de OPs apoia-se em um conjunto de operações, a saber: importação: consiste na inclusão de um OP na ontologia em desenvolvimento. especialização: consiste na criação de sub-tipos para algum conceito de um OP. Envolve a importação e posterior especialização de pelo menos um dos conceitos do OP. generalização: consiste na criação de super-tipos para conceitos de um OP. Envolve a importação e posterior generalização de pelo menos um dos conceitos do OP.

Usando Ontology Patterns composição: consiste em associar conceitos de dois OPs diferentes, o que pode levar a novos axiomas. expansão: consiste em adicionar novos conceitos, propriedades e axiomas à ontologia em desenvolvimento com o objetivo de atender requisitos que não foram tratados pelo reúso de OPs.

Usando Ontology Patterns Exemplo: Ontology for the Music Domain (Gangemi; Presutti, 2009) (Presutti; Gangemi 2008) Competency questions: Which recordings of a certain song do exist in our archive? Information Realization CP Who did play a certain musician role in a given band during a certain period? Time Indexed Person Role CP

Usando Ontology Patterns Modelo derivado a partir da descrição em (Presutti; Gangemi, 2008) (Gangemi; Presutti, 2009)

XD extreme Design Procura fazer uma analogia com o método ágil de Engenharia de Software XP extreme Programming. Princípios: Envolvimento do cliente e feedback contínuo. Requisitos baseados em histórias de clientes. Processo iterativo e incremental Colaboração e Integração Processo dirigido por testes Reutilização de OPs e design modular Design orientado a tarefa (escopo limitado) Design aos pares

Processo XD

Processo XD

Organizando Ontology Patterns Catálogo de Padrões ontologydesignpattern.org The Manchester s Ontology Design Patterns Catalog [21]: a public catalog of Content OPs focused on the biological knowledge domain Linguagem de Padrões Ontológicos (Ontology Pattern Language OPL): de Fundamentação (p.ex., OntoUML como uma OPL) de Domínio: Conjunto de patterns relacionados a um domínio de aplicação específico, inter-relacionados entre si, mais um processo que guia o reúso dos OPs. Esse processo aponta os problemas que podem ser tratados e a ordem em que eles devem ser tratados, sugerindo um ou mais patterns para resolver cada problema. Ex.: SP-OPL, ISP-OPL, E-OPL e S-OPL.

Ontology Pattern Languages (OPLs) OPs relacionados a um domínio (DROPs) são muito interrelacionados e é muito difícil aplicá-los isoladamente. Uma OPL deve indicar: Quais combinações de patterns são complementares ou conflitantes na resolução de um dado problema, juntamente com diretrizes para integrar patterns em um modelo conceitual de uma ontologia. Quais patterns tratam de aspectos obrigatórios e quais tratam de aspectos opcionais. Qual a ordem de aplicação dos patterns recomendada.

Ontology Pattern Languages (OPLs) Uma OPL é estruturada para apoiar e encorajar a aplicação de um pattern de cada vez, na ordem definida pelo processo da OPL e em função dos caminhos escolhidos pelo engenheiro de ontologias.

S-OPL

S-OPL

S-OPL

S-OPL

Exemplo: Ontologia de Serviço de Administração de Condomínio Propósito: representar o conhecimento sobre os serviços envolvidos na administração de condomínios, enfocando a oferta desses serviços e o acordo entre uma administradora de condomínios e um condomínio específico.

S-OPL

Usando S-OPL

S-OPL

Usando S-OPL

S-OPL

Usando S-OPL