• No results found

Oppsummering av plikter og praktisk anvendelse

3 Hvem eier missilet?

3.1 Systematisering av plikten i forholdsregler ved angrep

3.1.3 Oppsummering av plikter og praktisk anvendelse

A primeira versão da abordagem SABiO (Systematic Approach for Building

Ontology) (versão 1.0) foi proposta com base na abordagem de Uschold e King (1995),

adicionando-se algumas melhorias a essa abordagem, tais como o uso de uma linguagem gráfica para modelagem de ontologias, a classificação dos axiomas e o uso de questões de competência. Em sua versão mais atual (versão 2.0 – Falbo, 2011), algumas boas práticas reconhecidas pela comunidade de engenharia de ontologia foram incorporadas a essa abordagem, como por exemplo: (i) a inclusão das atividades de projeto, implementação e teste para ontologias operacionais; (ii) o reconhecimento da importância do uso de ontologias de fundamentação para o desenvolvimento de ontologias de domínio; dentre outras coisas.

A Figura 2.9 apresenta uma visão geral do processo de desenvolvimento de ontologias proposto pela abordagem SABiO. Esse processo é composto por cinco fases

principais, são elas: (i) identificação do propósito e elicitação dos requisitos da ontologia; (ii) captura e formalização ontológica; (iii) projeto da ontologia; (iv) implementação da ontologia; e (v) teste da ontologia.

Figura 2.9. Visão geral da abordagem SABiO (adaptado de Falbo, 2011).

SABiO contempla tanto o desenvolvimento de ontologias de referência quanto o

de ontologias operacionais. Uma ontologia de referência é um tipo especial de modelo conceitual, cujo objetivo é tornar clara e precisa a descrição dos elementos de um determinado domínio, facilitando a comunicação, o aprendizado e a resolução de problemas neste domínio. Uma ontologia operacional, por sua vez, é uma versão de implementação de uma ontologia de referência. Seu enfoque principal está em garantir que a ontologia possa ser computacionalmente processada.

Falbo (2011) afirma que, se há o interesse no desenvolvimento de uma ontologia de referência, então apenas as duas primeiras fases do processo da Figura 2.9 são necessárias. Caso uma ontologia operacional seja desejada, então todo o processo deve ser contemplado. Uma vez que o objetivo desta tese é apresentar uma ontologia de referência para o domínio de interesses de software, apenas as duas primeiras fases do processo da Figura 2.9 são descritas nesta seção.

Identificação do Propósito da Ontologia e Elicitação dos seus Requisitos.

Inicialmente, deve-se identificar o propósito da ontologia e seus potenciais usos. Uma vez definido esse propósito, deve-se então, elicitar seus requisitos. Os requisitos da ontologia devem levar em consideração os potenciais usos da mesma e podem ser expressos por meio de questões de competência, isto é, questões que a ontologia deve ser capaz de responder (Grüninger e Fox, 1995).

Estabelecer as questões de competência é uma maneira de determinar o que é e o que não é relevante para uma determinada ontologia, ou seja, trata-se do seu escopo. Além disso, as questões de competência podem ser interpretadas como justificativas para a construção da ontologia, bem como uma forma de avaliá-la durante a fase de teste da ontologia. Exemplos de questões de competência para o domínio de Gerência

de Configuração (GC) são (Calhau e Falbo, 2012): (i) quais são as atividade do processo de GC?; (ii) quais são as entradas e saídas de cada atividade?; (iii) quem é responsável por realizar essas atividades?; entre outras.

Captura e Formalização Ontológica. Segundo Falbo (2011), esta é a fase mais

importante do processo proposto pelos autores. O objetivo é capturar a conceituação do domínio, com base nas questões de competência. Assim, os conceitos relevantes e seus relacionamentos devem ser identificados e organizados.

O conhecimento representado por uma ontologia, necessário para responder às questões de competência, pode ser elicitado a partir de especialistas do domínio para o qual a ontologia está sendo desenvolvida, bem como por meio de conhecimentos consolidados em livros, padrões internacionais, modelos de referência, entre outros. Especialistas de domínio são pessoas com amplo conhecimento sobre o domínio da ontologia, responsáveis por prover o conhecimento que será modelado e implementado na ontologia.

A utilização de modelos gráficos é o instrumento chave para facilitar a comunicação, a negociação de significados e o estabelecimento de consenso com especialistas de domínio. A versão mais recente da abordagem SABiO (versão 2.0) recomenda o uso do perfil OntoUML como suporte para confecção desses modelos gráficos. OntoUML é um perfil para o diagrama de classes da UML que incorpora os principais elementos da ontologia de fundamentação UFO (Unified Foundational

Ontology) (Guizzardi, 2005). Mais detalhes sobre UFO e o perfil OntoUML são

apresentados nas Seções 2.4.2 e 2.4.3 deste trabalho.

Os conceitos e seus relacionamentos são a base de uma ontologia de domínio, porém, eles podem não ser suficientes para capturar adequadamente a conceituação do domínio. Quando necessário, restrições, especificadas por meio de axiomas, devem ser levadas em consideração. Os axiomas de uma ontologia podem se apresentar de duas formas: (i) axiomas de derivação (também conhecidos como axiomas ontológicos); e (ii) axiomas de consolidação. Axiomas de derivação são aqueles que permitem gerar informação nova a partir do conhecimento existente e documentado na ontologia. Axiomas de consolidação, por outro lado, não geram conhecimento novo, mas apenas restringem o estabelecimento de relações entre os conceitos de uma ontologia. Há ainda os axiomas epistemológicos, que são axiomas impostos implicitamente pela notação utilizada para construção da ontologia. Na Seção 2.4.3 são apresentados alguns exemplos de axiomas epistemológicos definidos pelo perfil OntoUML.

Para tornar clara a diferença entre axiomas de derivação e de consolidação, os exemplos apresentados no Quadro 2.5 são utilizados. Tais exemplos são extraídos do trabalho de Nardi e Falbo (2006), que propõe uma ontologia para requisitos de software.

Quadro 2.5. Exemplos de axiomas.

(∀r, m1, m2) (alocação(r, m1) ^ submódulo(m1, m2) → alocação(r, m2)) (1)

(∀ p, r, m) (alocação(r, m) ^ definição(r, p) ^ composição(m, e) → determinação (e, p)) (2)

(1) Axioma de Derivação; (2) Axioma de Consolidação.

No axioma do Quadro 2.5 (1), os seguintes predicados são utilizados: (i) “alocação(r, m1)”: indica que o requisito “r” é alocado ao módulo “m1”; e (ii) “submódulo(m1, m2)”: indica que “m1” é um sub-módulo de “m2”. Esse axioma indica que os requisitos alocados a um módulo estão alocados também a seus super-módulos. Já o axioma do Quadro 2.5 (2) define que um requisito só pode estar alocado a um módulo que esteja no escopo do projeto que definiu esse requisito. Nesse axioma, há três predicados: (i) “definição(r, p)”: indica que o requisito “r” foi definido no projeto “p”; (ii) “composição(m, e)”: indica que o módulo “m” compõe o escopo “e”; e (iii) “determinação(e, p)”: indica que o escopo “e” foi determinado para o projeto “p”.

Ressalta-se a diferença entre os axiomas do Quadro 2.5 (1) e (2): o axioma (1) deriva uma nova informação e, portanto, é dito um axioma de derivação, enquanto que o axioma (2) não deriva nova informação, mas apenas restringe o estabelecimento de relações.

Com o intuito de evitar ambiguidades, os autores da abordagem SABiO recomendam que os axiomas sejam escritos em lógica de primeira ordem (FOL – First

Order Logic), assim como foram escritos os axiomas do Quadro 2.5. Além disso, para

permitir a rastreabilidade entre os elementos da ontologia e de seus axiomas, sugere-se que os nomes dos predicados correspondam aos nomes dos elementos (conceitos e relacionamentos) da ontologia. A última recomendação é que os axiomas sejam acompanhados de sua descrição em linguagem natural, para facilitar a compreensão e comunicação do conhecimento representado na ontologia.