Uso de Ontologias de Fundamentação na Engenharia de Ontologias Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo
Agenda Ontologias de Fundamentação A Abordagem de NeOn Análise Ontológica com UFO-A e OntoUML Análise Ontológica com UFO-C
Tipos de Ontologias Quanto ao grau de generalidade Ontologia de Fundamentação Ontologia Formal Conceitos muito gerais que se aplicam às diversas áreas de conhecimento (objeto, evento, ação, tempo etc.) Ontologia de Domínio Ontologia de Aplicação Ontologia de Tarefa
A Abordagem de NeOn Desenvolvimento com Reúso: diretrizes para o reúso de ontologias em geral, mas com foco em ontologias genéricas. Atividades: Selecionar as ontologias (genéricas) a serem reusadas Customizar as ontologias selecionadas Integrar as ontologias a serem reusadas (com a ontologia em desenvolvimento) Base: Documento de Especificação de Requisitos da Ontologia
Selecionar ontologias a serem reusadas 5
Selecionar ontologias a serem reusadas Ajustar o vocabulário das CQs explicitando termos mais abstratos que apontem teorias genéricas (parte de, ponto/intervalo de tempo, etc.) 6
QCs Originais 7
Reformulação das QCs 8
Selecionar ontologias a serem reusadas Identificar teorias genéricas (definições e axiomas) a serem reutilizadas. 9
Identificando Axiomas e Definições Teoria genérica: Mereologia (estudo dos todos e partes) Axiomas da Mereologia Clássica: Reflexividade: Todo objeto é parte de si mesmo (A é parte de A). Antissimetria: Nenhum objeto é parte de suas partes (Se A é parte de B e B é parte de A, então A e B são o mesmo objeto). Transitividade: Partes das partes são partes do todo (Se A é parte de B e B é parte de C, então A é parte de C). Definição: Partes próprias (proper parts): São as partes de um objeto que não o próprio objeto. Axioma adicional: Suplementação Fraca: Todo objeto com partes próprias tem pelo menos duas partes próprias distintas. 10
Identificando Axiomas e Definições 11
Selecionar ontologias a serem reusadas Procurar por ontologias que implementem as teorias genéricas. 12
Busca por Ontologias 13
Selecionar ontologias a serem reusadas Comparar as ontologias candidatas com os axiomas e definições da identificados na Task 1.2. 14
Estudo Comparativo: Características Funcionais 15
Selecionar ontologias a serem reusadas Considerar características funcionais (axiomas e definições) e não funcionais. 16
Seleção da ontologia Peso: 75% Peso: 25% 17
Seleção da ontologia: Critérios de Decisão 18
Customizar ontologias selecionadas Remover/Adicionar elementos Alteração de nomes, definição de tipos (range) para propriedades Avaliar conteúdo resultante (erros) Problema: Remover/adicionar elementos (em especial adicionar) pode introduzir inconsistências e erros. De fato, estender ontologias genéricas não é um trabalho simples... 19
Integrar as ontologias Opções: - Importar ontologia customizada - Copiar ontologia customizada Novos elementos podem ser adicionados (p.ex., axiomas). 20
A Abordagem de NeOn Mesmo tratando de ontologias genéricas, é perceptível o foco em ontologias operacionais (OWL). Em (Guizzardi, 2006), o autor aponta que uma abordagem para representação de ontologias unicamente baseada nas linguagens de modelagem adotadas na Web Semântica é insuficiente para tratar vários problemas de interoperabilidade semântica que emergem em cenários de aplicação concretos.
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. Três partes principais: UFO-A: uma ontologia de objetos UFO-B: uma ontologia de eventos UFO-C: uma ontologia de entidades sociais
Unified Foundational Ontology (UFO) UFO-C (Aspectos Sociais) (Agentes, estados intencionais, objetivos, ações, normas, compromissos e reivindicações sociais, relações de dependência social etc.) 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.)
Análise Ontológica com UFO-A e OntoUML UFO-A: uma ontologia de objetos (endurants) Princípios importantes para a definição de tipos de objetos: Identidade Rigidez Dependência Relacional
Princípio de Identidade Apoia o julgamento se dois indivíduos são o mesmo. Y
Princípio de Identidade Y
Princípio de Identidade Y
Princípio de Identidade Um determinado tipo de objeto pode ter mais de um critério de identidade. Ex.: Do ponto de vista biológico, quais seriam critérios de identidade para Pessoas? DNA, Digital, etc. Diferentes tipos de objetos têm diferentes critérios de identidade. Ex.: Do ponto de vista legal, quais seriam bons critérios de identidade para Pessoa e Organização, respectivamente? Pessoa: CPF Organização: CNPJ
Princípio de Identidade Tipos que proveem um princípio de identidade para suas instâncias são ditos Sortais. Ex.: Pessoa, Organização, Carro etc. Tipos que não proveem um princípio de identidade para suas instâncias são ditos Não Sortais. Ex.: Item Segurável
Princípio de Identidade Um indivíduo (instância) não pode obedecer a princípios de identidade incompatíveis.
Rigidez, Semi-Rigidez e Anti-Rigidez Um tipo T é rígido se para toda instância x de T, x é necessariamente uma instância de T (no senso modal). Ex.: Pessoa Um tipo T é anti-rígido se para toda instância x de T, existe a possibilidade de x não ser uma instância de T. Ex.: Estudante Um tipo T é semi-rígido quando ele não é rígido, mas também não é anti-rígido, ou seja, há subtipos de T que são rígidos e outros anti-rígidos. Ex.: Item Segurável: Carros são necessariamente segurados, mas Casas não.
Kinds e Subkinds Kind: Sortal rígido que provê um princípio de identidade para suas instâncias. Ex.: Pessoa, Organização Subkind: Sortal rígido que herda o princípio de identidade de outro Kind. Ex.: Homem, Mulher (subtipos de Pessoa), Instituição de Ensino (subtipo de Organização)
Dependência Relacional Um tipo T é relacionalmente dependente de outro tipo P via a relação R, se para toda instância x de T existe uma instância y de P tal que x e y são relacionadas através de R.
Papéis (Roles) e Fase (Phases) Role: Especialização anti-rígida de um Sortal, na qual a condição de especialização é de natureza relacional (derivada da participação em uma relação). Ex.: Estudante (subtipo de Pessoa) Phase: Especialização (anti-rígida) de um Sortal, na qual a condição de especialização é intrínseca ao objeto. Ex.: Criança, Adolescente, Adulto e Idoso (subtipos de Pessoa)
Papéis (Roles)
Papéis (Roles) e n A propriedade relacional (matriculado em) é parte da definição do papel Estudante.
Papel (Role) Kind Role Kind
Kind Role Kind PESSOA ESTUDANTE INSTITUIÇÃO DE ENSINO MUNDO M
Kind Role Kind PESSOA ESTUDANTE INSTITUIÇÃO DE ENSINO MUNDO M1
Kind Role Kind PESSOA ESTUDANTE INSTITUIÇÃO DE ENSINO MUNDO M2
Fase (Phase) Especialização (anti-rígida) de um Sortal, na qual a condição de especialização é intrínseca ao objeto. Fases são sempre definidas em Partições de Fases: conjuntos de generalização (generalization set) disjuntos e completos. Kind Phases
Criança Adolescente Idoso Adulto PESSOA MUNDO M1
Criança Adolescente Idoso Adulto PESSOA MUNDO M2
Criança Adolescente Idoso Adulto PESSOA MUNDO M3
Fases Y
OntoUML Extensão da UML que incorpora ao metamodelo da UML 2.0 algumas das distinções ontológicas capturas pela Ontologia de Fundamentação Unificada (UFO-A). Além de incorporar primitivas de modelagem que representam essas distinções ontológicas, o metamodelo estendido de OntoUML inclui um número de restrições lógicas que governam como essas primitivas podem ser combinadas para formar modelos conceituais consistentes.
Diferentes Categorias de Tipos de Objetos de OntoUML Categoria de Tipo de Objeto Identidade Rigidez Dependência Relacional SORTAL Kind (<<kind>>) Provê +R - Subkind (<<subkind>>) Herda +R - Phase (<<phase>>) Herda -R - Role (<<role>>) Herda -R NON SORTAL Category (<<category>>) - +R - Phasemixin (<<phasemixin>>) - -R - Rolemixin (<<rolemixin>>) - -R Mixin (<<mixin>>) - ~R -
Modelo OntoUML
Análise Ontológica com UFO-C UFO-C: uma ontologia de aspectos sociais UFO-C tem sido utilizada para a análise ontológica de ontologias construídas sem usar uma ontologia de fundamentação ou para a análise ontológica de recursos não ontológicos (como p.ex., normas). Ex.: Análise ontológica da norma ISO/IEC 24744
SEMDM - SE Metamodel for Development Methodologies: Endeavor Level
Unidades de Trabalho Work Unit: a job performed, or intended to be performed, within an endeavour. starttime: point in time at which the work unit is started. endtime: point in time at which the work unit is finished. Is Requirements Elicitation: A Job performed? A Job intended to be performed?
Unidades de Trabalho SEMDM Work Unit: a job performed, or intended to be performed, within an endeavour. UFO-C Action: Intentional event, that have the specific purpose of satisfying some intention. Can be used to represent a job performed. Internal Appointment: Commitment whose goal explicitly refers to a time interval (e.g., a scheduled meeting) Can be used to represent a job intended to be performed.
Unidades de Trabalho Suggestion (1) Introduce of the concepts of Scheduled Work Unit and Performed Work Unit, disambiguating the notion of WorkUnit.
Unidades de Trabalho Work Units Process: a large-grained work unit that operates within a given area of expertise. Task: a small-grained work unit that focuses on what must be done in order to achieve a given purpose. Technique: a small-grained work unit that focuses on how the given purpose may be achieved. How to perform a Technique? Performing the tasks it describes.
Unidades de Trabalho SEMDM A technique can be used to accomplish a given task. It describes how to perform some tasks. UFO-C Plan Description: is a normative description that defines a plan. Normative Description is a social object that defines one or more rules/norms recognized by at least one social agent. Technique can be represented as a Plan Description.
Unidades de Trabalho Suggestion (2) Consider Technique as a Plan Description (Normative Description) and not a Work Unit.
Produtos de Trabalho Work Product: "an artefact of interest for the endeavour". SoftwareItem: a piece of software of interest; HardwareItem: a piece of hardware of interest; Model: an abstract representation of some subject that acts as the subject s surrogate for some well defined purpose; Document: a durable depiction of a fragment of reality; CompositeWorkProduct: an aggregate of other elements. There are two different specialization criteria in the same hierarchy: decomposition and nature.
Produtos de Trabalho SEMDM Work Product: an artefact of interest for the endeavour. UFO-C Object: Substantial unable to perceive events or to have any intention. Work Product can be represented as an Object. Specializations with different criteria are treated in different generalization sets.
Produtos de Trabalho Suggestion (3) Use two generalization sets for WorkProduct: nature and mereological structure.
Produtor Producer: "is an agent that has the responsibility to execute work units". Person: individual person at the endeavor level; Team: organized set of producers that collectively focus on common work units; Tool: instrument that helps another producer to execute its responsibilities in an automated way; Role: collection of responsibilities that a producer can take. Are all subclasses of Producer really producers?
Produtor SEMDM Producer: "is an agent that has the responsibility to execute work units". Person: individual person at the endeavor level; Team: organized set of producers focusing on common work units. UFO-C Agent: substantial that creates actions, perceives events and to which we can ascribe mental states. Physical Agent (ex.: a Person) Social Agent (ex.: a Organization or a Team)
Produtor Suggestion (4) Consider only Person and Team as producers, grouping them with a rolemixin pattern.
Produtor SEMDM Producer: "is an agent that has the responsibility to execute work units". Tool: instrument that helps another producer to execute its responsibilities in an automated way. How can Tool be an agent with responsibilities (Producer)? UFO-C Tool is not a Agent, but an Object, and the use of the tool is an Object Participation.
Produtor Suggestion (5) Consider Tool as an Object, not a Producer.
Produtor SEMDM Producer: "is an agent that has the responsibility to execute work units". Role: collection of responsibilities that a producer can take. RoleKind (subclass of ProducerKind): specific kind of role, characterized by the involved responsibilities. What is the difference between Role and RoleKind, since both deal with responsibilities in a similar way? How could be assigned a Role to a Person in a Team context? UFO Social Role: is a role described by a normative description that establishes the related responsibilities.
Produtor Suggestions (6,7) Consider RoleKind as a Social Role. As a consequence, Role is eliminated. Solve the Team allocation issue with Allocation relators.
Resultado da Análise Ontológica dosemdm