Upload
dohanh
View
215
Download
2
Embed Size (px)
Citation preview
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO TECNOLÓGICO
DEPARTAMENTO DE INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO
VERUSKA CARRETTA ZAMBORLINI
Implementação de uma Ontologia de Referência de Eletrocardiograma com Análise da Perda de Expressividade
VITÓRIA 2008
VERUSKA CARRETTA ZAMBORLINI
Implementação de uma Ontologia de Referência de Eletrocardiograma com Análise da Perda de Expressividade
Monografia apresentada ao Curso de Ciência da Computação do Departamento de Informática da Universidade Federal do Espírito Santo, como requisito parcial para obtenção do Grau de Bacharel em Ciência da Computação. Orientador: Prof. Dr. Giancarlo Guizzardi
VITÓRIA 2008
VERUSKA CARRETTA ZAMBORLINI
Implementação de uma Ontologia de Referência de Eletrocardiograma com Análise da Perda de Expressividade
Monografia apresentada ao Curso de Ciência da Computação do Departamento de Informática da Universidade Federal do Espírito Santo, como requisito parcial para obtenção do Grau de Bacharel em Ciência da Computação.
Aprovada em ___ de fevereiro de 2008
COMISSÃO EXAMINADORA ___________________________________ Prof. Dr. Giancarlo Guizzardi Departamento de Informática - UFES Orientador ___________________________________ Prof. Dr. Saulo Bortolon Departamento de Informática – UFES ___________________________________ Bernardo Nunes Gonçalves Mestrando em Informática – UFES Vitória, 22 de fevereiro de 2008.
Resumo
Este trabalho aborda o assunto de implementação de ontologias de referência,
considerando-se a utilização dos métodos de Engenharia de Ontologia. A
implementação pode ser vista como uma versão da ontologia de referência de
domínio, porém, com a expressividade (possivelmente) reduzida conforme o limite
imposto pela linguagem de implementação e/ou a fim de atender eventuais
requisitos computacionais, como tratabilidade e decidibilidade. Os objetivos gerais
deste trabalho são: (i) implementar a Ontologia de Eletrocardiograma proposta em
(GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007), utilizando a linguagem OWL +
SWRL, e mostrar que a implementação responde as questões de competência que
guiaram o projeto da ontologia; (ii) fazer uma análise da perda de expressividade
que ocorre na implementação de uma ontologia, considerando-se o limite imposto
pela linguagem. O estudo parte da implementação da Ontologia de
Eletrocardiograma e busca identificar os pontos críticos e encontrar possíveis
soluções ou mesmo apontar a necessidade de uma maior expressividade da
linguagem. Para isso foram realizados estudos teóricos sobre ontologias, através de
revisão bibliográfica em artigos e trabalhos relacionados. Também foram estudadas
as linguagens de representação (OntoUML) e implementação (OWL+SWRL) de
ontologias. Como resultados finais, tem-se a implementação da Ontologia de
Eletrocardiograma que, validada pelos resultados obtidos em resposta às questões
de competência, torna-se objeto legítimo da análise proposta neste trabalho; e a
análise da perda de expressividade em relação ao modelo conceitual, que permitiu
identificar alguns pontos críticos como a representação da relação material e a
distinção entre estereótipos como espécie, papel e fase (kind, role e phase). Por fim,
são sugeridos aprofundamentos em trabalhos futuros, a fim de estudar possíveis
soluções para as limitações encontradas na implementação da ontologia.
LISTA DE FIGURAS
Figura 2.1 - Triângulo de Ullmann: ............................................................................................................. 18 Figura 2.2 - Relações entre Conceituação, Abstrações, Linguagens de Representação e Modelo. ........ 19 Figura 2.3 - Uma Linguagem de Representação para o Domínio de Genealogia ..................................... 19 Figura 2.4 - Um Modelo do Domínio de Genealogia, instância da linguagem mostrada na figura 2.3. .... 20 Figura 2.5 - Aplicação de ontologias na criação e avaliação de Linguagens de Representação.............. 21 Figura 2.6 - Uma Ontologia de Referência para o Domínio de Genealogia. ............................................. 22 Figura 2.7 - Primitivas de uma Linguagem de Modelagem do Domínio de Genealogia isomórfica à ontologia mostrada na figura 2.6................................................................................................................. 22 Figura 2.8 - Exemplos de Modelos inválidos (a-c) e de um Modelo válido (d) na linguagem mostrada na figura 2.7................................................................................................................................................. 23 Figura 2.9 - Instância do padrão da figura 2.5 para o exemplo do Domínio de Genealogia. .................... 23 Figura 2.10 - Meta-Conceituação e (Meta)Linguagens usadas para compor Modelos Conceituais. ........ 24 Figura 2.11 - Aplicação de Ontologias Fundacionais na criação e avaliação de Modelos Conceituais/Ontologias de Referência. ....................................................................................................... 25 Figura 2.12 - Instância do padrão da figura 2.11 para o exemplo do Domínio de Genealogia. ................ 26 Figura 2.13 - Ontologias Leves são modelos conceituais baseados em uma Ontologia de Referência de Domínio. ................................................................................................................................................. 29 Figura 2.14 - Instância do padrão da figura 2.13 para o Domínio de Eletrocardiografia. .......................... 30 Figura 2.15 - Fragmento da UFO usado para desenvolver a Ontologia de Eletrocardiograma. ............... 33 Figura 2.16 - Fragmento do Metamomdelo da linguagem OntoUML......................................................... 37 Figura 3.1 - Sub-ontologia do Coração. ..................................................................................................... 56 Figura 3.2 - Sub-ontologia de Fenômenos Bioelétricos. ............................................................................ 57 Figura 3.3 - Sub-ontologia de Fenômeno Circulatório. .............................................................................. 59 Figura 3.4 - Sub-ontologia de Protocolo Humano. ..................................................................................... 61 Figura 3.5 - Sub-ontologia de Eletrocardiografia........................................................................................ 62 Figura 3.6 - Combinações (Leads) de eletrodos posicionados nos membros. .......................................... 63 Figura 3.7 - A forma de onda em um ciclo normal de ECG. ...................................................................... 64 Figura 4.1 - Resposta da questão de competência CQ1. .......................................................................... 69 Figura 4.2 - Resposta da questão de competência CQ2. .......................................................................... 71 Figura 4.3 - Resposta da questão de competência CQ3. .......................................................................... 72 Figura 4.4 - Resposta da questão de competência CQ4. .......................................................................... 73 Figura 4.5 - Resposta da questão de competência CQ5. .......................................................................... 74 Figura 4.6 - Resposta da questão de competência CQ6. .......................................................................... 75 Figura 4.7 - Resposta da questão de competência CQ7. .......................................................................... 76 Figura 4.8 - Resposta da questão de competência CQ8. .......................................................................... 77 Figura 4.9 - Resposta da questão de competência CQ9. .......................................................................... 78 Figura 4.10 - Restrições da classe HumanHeart. ...................................................................................... 81 Figura 4.11 - Restrição da classe LeftVentricle.......................................................................................... 82 Figura 4.12 - Classes disjuntas (disjoints) à classe NonPacemakerCells. ................................................ 83 Figura 4.13 - Restrição da classe completa HeartCells. ............................................................................ 83
LISTA DE TABELAS
Tabela 2.1 - Tabela de estereótipos definidos no perfil da OntoUML ........................................................ 38 Tabela 2.2 - Sintaxe e semântica dos construtores de DL. ........................................................................ 42 Tabela 2.3 - Sintaxe Abstrata OWL, Sintaxe DL e Semântica de OWL. .................................................... 48
SUMÁRIO
1. Introdução.........................................................................................................................10 2. Pressupostos Teóricos ......................................................................................................14
2.1. Ontologia ..................................................................................................................14 2.1.1. Ontologia como Modelo Conceitual ....................................................................18 2.1.2. Ontologia como Implementação...........................................................................27 2.2. Linguagem para Modelagem Conceitual..................................................................30 2.2.1. UFO-A/B (Unified Foundational Ontology) ........................................................31 2.2.2. OntoUML .............................................................................................................36 2.3. Linguagem para Implementação ..............................................................................39 2.3.1. Lógicas Descritivas (DL – Description Logics) ...................................................40 2.3.2. OWL (Ontology Web Language) .........................................................................45 2.3.3. SWRL (Semantic Web Rule Language)...............................................................49
3. Domínio de Estudo ...........................................................................................................53 3.1. Domínio de Eletrocardiografia .................................................................................53 3.2. Ontologia de Eletrocardiograma...............................................................................55
4. Implementação .................................................................................................................66 4.1. Aspectos Técnicos ....................................................................................................66 4.2. Resultados.................................................................................................................67 4.3. Análise ......................................................................................................................78
5. Conclusão .........................................................................................................................87 5.1. Resultados Finais......................................................................................................87 5.2. Trabalhos Futuros .....................................................................................................89
Bibliografia...............................................................................................................................90 Anexo A....................................................................................................................................92
10
1. Introdução
Há alguns anos vem crescendo o uso de ontologias aplicadas à Ciência da
Computação. Sua aplicabilidade tem sido reconhecida em diversas áreas, como
Inteligência Artificial (IA), Engenharia de Software e Web Semântica, possibilitando a
criação de modelos conceituais claros, concisos e não ambíguos. Esses modelos
devem abranger todas as características do domínio e impedir que sejam modeladas
situações impossíveis. Por exemplo, uma ontologia do domínio de genealogia não
deve permitir que seja modelada uma situação em que um indivíduo é pai do seu pai
ou de si próprio.
A palavra ontologia, em latim, significa “o estudo da existência”, e desde o século
XVII é usada para se referir tanto a uma disciplina filosófica quanto a um sistema de
categorias independente de domínio (GUIZZARDI, 2007). No campo da Ciência da
Computação, ela foi usada pela primeira vez na área de Sistemas de Informação,
em 1967, como um sistema de categorias independente de linguagem.
Posteriormente, foi usada também em IA e em outras áreas para designar, porém,
“um artefato concreto [...], projetado com um propósito específico e representado em
uma linguagem específica” (GUIZZARDI, 2007, p. 2).
Contudo, essas linguagens usadas para representar ontologias de domínio devem
ser suficientemente expressivas para caracterizar formalmente as distinções
ontológicas. Para isso, elas devem ser isomórficas a uma ontologia fundacional, que
é um sistema de categorias formal (independente de domínio). Em sua tese,
Guizzardi (2005) propõe a Ontologia Fundacional UFO (Unified Foundational
Ontology) para analisar, (re)projetar e prover semântica de mundo real para
linguagens de modelagem conceitual. O autor também realiza um estudo de caso,
produzindo uma versão ontologicamente correta da Linguagem de Modelagem UML
(Unified Modeling Language), chamada posteriormente de OntoUML. Essa
linguagem permite produzir ontologias de qualidade, e usá-las como um modelo
conceitual de alta expressividade.
Deve-se ainda observar que, para utilizar ontologias em aplicações computacionais,
em geral, é necessário preocupar-se com propriedades específicas, tais como
11
decidibilidade e tratabilidade. Porém, esses requisitos não só são irrelevantes na
construção de uma ontologia como modelo conceitual, como são opostos à alta
expressividade necessária para melhor representar o domínio em questão. Torna-se
então necessário restringir convenientemente a expressividade da ontologia de
domínio para atender aos requisitos computacionais, e assim produzir uma
implementação da ontologia.
Assim como um sistema desenvolvido sem projeto tem grandes chances de ter
problemas, também as ontologias necessitam de métodos específicos para serem
adequadamente implementadas. A esse respeito, Guizzardi (2007) faz uma analogia
à Engenharia de Software, mostrando a necessidade dos métodos de Engenharia de
Ontologia. Dessa forma, é possível analisar e ponderar a perda de expressividade
em função dos requisitos computacionais e/ou das limitações da linguagem.
Dentre as linguagens que têm sido usadas para implementar ontologias, a OWL
(Ontology Web Language) é um padrão recomendado pela W3C (World Wide Web
Consortium) bastante utilizado na área de Web Semântica. Sendo assim, sua
utilização permite que a implementação produzida seja melhor aproveitada em
outros trabalhos. Neste trabalho é utilizada a linguagem OWL DL, uma espécie de
OWL que tem como base a Lógica Descritiva (DL - Description Logics) chamada de
SHOIN(D). Este último é um subconjunto da lógica de primeira ordem devidamente
restringido para ser decidível. Dessa forma, o poder de expressividade de OWL DL
torna-se limitado, sendo necessário, em muitos casos, utilizar extensões, como a
linguagem SWRL (Semantic Web Rule Language). Esta linguagem estende o
conjunto de axiomas de OWL para incluir regras do tipo Horn.
Neste trabalho, propõe-se uma implementação em OWL+SWRL da Ontologia de
Eletrocardiograma apresentada em (GONÇALVES; GUIZZARDI; PEREIRA FILHO,
2007) na linguagem OntoUML. O objetivo principal desta ontologia é ser uma teoria
de eletrocardiograma independente de aplicações específicas do domínio. Chama-
se de Eletrocardiograma (ECG) o registro resultante da aplicação da
Eletrocardiografia, que é a técnica de registro de sinais elétricos gerados pela
atividade do coração. De acordo com Geselowitz (1989 apud GONÇALVES;
GUIZZARDI; PEREIRA FILHO, 2007), o ECG foi, possivelmente, o primeiro sinal de
diagnóstico a ser estudado para possibilitar sua interpretação automática por
12
programas computacionais. Uma possível aplicação desta implementação seria no
contexto da Telecardiologia, em que a transmissão de ECGs (por meio das
tecnologias mobile e wireless) possibilitaria o provimento de telemonitoramento
cardíaco a qualquer hora e em qualquer lugar, e a sua interpretação automática
facilitaria e agilizaria a identificação de vários tipos de doenças cardíacas.
Uma vez que os objetivos gerais deste trabalho são implementar a Ontologia de
Eletrocardiograma proposta em (GONÇALVES; GUIZZARDI; PEREIRA FILHO,
2007), utilizando a linguagem OWL+SWRL e fazer uma análise da perda de
expressividade considerando-se o limite imposto pela linguagem, foram
estabelecidos os seguintes objetivos específicos:
(i) Ressaltar a importância de ontologias para modelagem conceitual de um
domínio e a necessidade de se utilizar os métodos de Engenharia de
Ontologia para implementá-las.
(ii) Realizar um estudo sobre linguagens usadas na representação e
implementação de ontologias para melhor entender a perda de
expressividade que ocorre ao ser implementada uma ontologia de referência
domínio.
(iii) Estudar e implementar em OWL+SWRL a Ontologia de
Eletrocardiograma, e mostrar que a implementação responde as questões de
competência que guiaram o projeto da ontologia.
(iv) Analisar a implementação proposta, considerando as limitações da
linguagem OWL+SWRL.
Como metodologia de desenvolvimento deste trabalho foi utilizada a leitura de
artigos, trabalhos e documentações relacionados a ontologias, às linguagens usadas
para representá-las e implementá-las e às ferramentas necessárias para a
implementação.
No Capítulo 2, visando atingir os objetivos (i) e (ii), faz-se uma revisão da utilização
de ontologias historicamente e atualmente, e apresenta-se sua aplicação como
modelo conceitual e como implementação. São abordadas as linguagens OntoUML
e OWL+SWRL, juntamente com suas respectivas bases ontológica (UFO) e lógica
(DL).
13
No Capítulo 3, faz-se uma contextualização e apresentação da Ontologia de
Eletrocardiograma, buscando fundamentos conceituais que auxiliem a
implementação proposta neste trabalho. Este capítulo corresponde, então, à base
teórica do objetivo (iii).
As implementações dos axiomas que respondem as questões de competência
apresentadas no Capítulo 4 como resultados obtidos, ilustrados com algumas
instâncias. Juntamente com a implementação da ontologia, cujo código está
disponível no Anexo A, esses resultados atendem à parte prática do objetivo (iii).
Também nesse capítulo, para atingir o objetivo (iv), é realizada a análise da
implementação, em que são identificados pontos críticos, mostrando-se algumas
possíveis soluções ou apontando-se a necessidade de uma maior expressividade da
linguagem utilizada.
A partir dessa análise, o capítulo 5 apresenta as conclusões e considerações finais,
e mostra as dificuldades encontradas no desenvolvimento deste trabalho. São
sugeridos alguns trabalhos futuros no contexto de implementação de ontologia em
geral e de possíveis aplicações da implementação proposta.
14
2. Pressupostos Teóricos
Neste capítulo são abordados os estudos teóricos que se fizeram necessários para o
entendimento de como se deve/pode ser feito o mapeamento de uma ontologia
como modelo conceitual de um domínio em uma ontologia como implementação.
Inicialmente, na Seção 2.1, é feita uma visão geral de ontologia, seu surgimento, sua
relevância e seus significados. Busca-se ainda mostrar a importância da utilização
de ontologias para realizar a modelagem conceitual de um domínio e destacar a
necessidade dos métodos de Engenharia de Ontologia para realizar a
implementação de ontologias. Na Seção 2.2 é apresentada brevemente a
Linguagem de Representação de Ontologias chamada OntoUML e sua
fundamentação ontológica dada pela UFO. Finalmente, a Seção 2.3 aborda a
Linguagem de Implementação de Ontologias OWL+SWRL e sua fundamentação
lógica chamada de Lógica Descritiva.
2.1. Ontologia
Esta seção é uma adaptação do artigo Guizzardi (2007) e apresenta uma visão geral
das aplicações do termo ontologia, em especial no campo da Ciência da
Computação. Nesta seção, onde a referência for omitida, entende-se que se trata
deste mesmo artigo.
Ontologia é uma palavra de origem latina cujo significado pode ser entendido como
“o estudo da existência”. Etimologicamente, ont- vem do particípio presente do verbo
grego enai (ser) e logia em latim significa estudo. São dadas pelo dicionário on-line
Webster (2004 apud GUIZZARDI, 2007) três definições para o termo em questão:
(D1): o ramo da metafísica que se preocupa com a natureza e relações do ser;
(D2): uma teoria particular sobre a natureza do ser ou os tipos existentes;
(D3): uma teoria sobre os tipos de entidades e especificamente os tipos de entidades
abstratas que são admitidos em um sistema de linguagem.
15
Aristóteles, no século IV a.C, foi o primeiro filósofo ocidental a estudar metafísica
sistematicamente, sendo também o primeiro a estudar ontologia no sentido D1,
embora não utilizasse este termo em particular. Em Methaphiysics e Categories, ele
a descreveu como “a ciência do ser enquanto ser” e desenvolveu a primeira
ontologia no sentido D2, que é o conjunto de teorias de Substância e Acidentes.
O termo ontologia “[..] foi cunhado no século XVII em paralelo pelos filósofos Rudolf
Göckel em Lexicon philosophicum e por Jacob Lorhard em Ogdoas Scholastica [..]”.
Porém, apenas no século XVIII foi popularizado no meio filosófico “[..] com a
publicação de Philosophia prima sive Ontologia pelo filósofo alemão Christian Wolff”.
Usava-se esse termo para se referir “[..] tanto a uma disciplina filosófica (Ontologia,
com ‘O’ maiúsculo) quanto a um sistema de categorias independente de domínio
apropriado para conceituação de teorias científicas de domínio específico”
(GUIZZARDI, 2007, p.1).
No início do século XX, o filósofo germânico Edmund Husserl usou o termo
Ontologia Formal para se referir a uma parte específica da disciplina filosófica de
Ontologia. Fazendo-se uma analogia com a Lógica Formal, enquanto esta “lida com
estruturas lógicas formais (por exemplo, verdade, validade, consistência)
independentemente de sua veracidade, a Ontologia Formal lida com estruturas
ontológicas formais (por exemplo, teoria das partes, teoria do todo, tipos e
instanciação, identidade, dependência, unidade), isto é, com aspectos formais de
objetos independentemente da sua natureza particular” (GUIZZARDI, 2007, p. 1).
Desde Aristóteles, várias teorias ontológicas têm sido propostas por diversos autores
em filosofia e, recentemente, também em Ciência da Computação. Neste campo, o
termo ontologia foi usado pela primeira vez em 1967, na área de processamento de
dados, por S. H. Mealy, num trabalho sobre os fundamentos da modelagem de
dados. O termo aparece numa passagem em que ele discute sobre a existência das
coisas no mundo independentemente das suas (possíveis) múltiplas representações
e alega que “Esta é uma questão de ontologia, ou a questão do que existe” (MEALY,
1967, p. 525 apud GUIZZARDI, 2007, p. 2). Na de Sistemas de Informação, o termo
ontologia tem sido usado em conformidade com sua definição em filosofia (em
ambos sentidos D1 e D2), ou seja, como um sistema de categorias independente de
linguagem. Por exemplo, a ontologia de Aristóteles é a mesma se representada em
16
Português, Inglês, ou Lógica de Primeira Ordem. Também no campo da Inteligência
Artificial (IA) começou-se a usar o que passou a ser conhecido como Ontologias de
Domínio. Nessa área, o termo foi usado inicialmente em 1978 por Hayes (1978 apud
GUIZZARDI, 2007), que chegou a desenvolver uma teoria de senso comum sobre
líquidos. Em IA, assim como na maioria das outras áreas de Ciência da
Computação, a palavra ontologia é usada, em geral, para designar “um artefato
concreto de engenharia, projetado para um propósito específico, e representado em
uma linguagem específica” (GUIZZARDI, 2007, p. 2).
Posteriormente, a Ontologia Fundacional surgiu para dar subsídios ontológicos
formais às linguagens propostas para representação de Ontologias de Domínio
Específico. “Um conhecido exemplo de Ontologia Fundacional é a Ontologia Bunge-
Wand-Weber (BWW), proposta por Wand and Weber em uma série de artigos (por
exemplo, Wand & Weber, 1990, 1995) e baseada na teoria metafísica original
desenvolvida por Bunge (1977, 1979)” (GUIZZARDI; WAGNER, 2005, p. 2). Em
Guizzardi (2005) e outras publicações subseqüentes, o autor propõe a Ontologia
Fundacional UFO (Unified Foundational Ontology), que será abordada na seção
2.2.1.
Nos últimos anos tem crescido o interesse na aplicação de ontologias no campo da
Ciência da Computação. Elas têm sido usadas em diversas áreas, como IA,
Engenharia de Software, Web Semântica, possibilitando a criação de modelos
conceituais claros, concisos e não ambíguos. Vale ressaltar, porém, que para a
criação e implementação de ontologias de qualidade, devem ser usados os métodos
de Engenharia de Ontologia, analogamente à necessidade dos métodos de
Engenharia de Software para se desenvolver softwares de qualidade.
Resumidamente, são enumerados a seguir significados diferentes, porém
relacionados, da palavra ontologia, usados neste trabalho.
(a) Ontologia (com ‘O’ maiúsculo): uma disciplina filosófica que representa o
ramo mais importante da metafísica, e que pode ser descrita “a ciência do ser
enquanto ser”;
(b) Ontologia Formal (Formal Ontology): é uma parte da disciplina filosófica de
Ontologia. Ela estuda o desenvolvimento de teorias gerais que levam em
17
conta aspectos da realidade que não são específicos de nenhum campo da
ciência. Essas teorias, chamadas Meta-Conceituações, “descrevem o
conhecimento sobre a realidade de uma forma independente de linguagem,
estados do mundo (states of affairs) particulares e estados epistêmicos de
agentes do conhecimento (knowledgeable agents)” (Guizzardi, 2007, p. 16) ;
(c) Ontologia Ideal ou Ontologia de Referência (Ideal Ontology / Reference
Ontology): é a representação de uma (Meta)Conceituação em termos de um
artefato concreto; é focada na adequação da representação para caracterizar
da forma mais acurada possível a (Meta)Conceituação com a qual ela se
compromete, de forma a descrever todos e somente os estados de mundo
admissíveis pela (Meta)Conceituação. O objetivo é ser entendida por
humanos;
Ontologia Fundacional (Foundational Ontology): é uma Ontologia
Ideal que representa uma Meta-Conceituação, ou seja, uma Ontologia
de Referência Independente de Domínio, construída utilizando-se as
teorias desenvolvidas pela Ontologia Formal;
Ontologia de Domínio (Domain Ontology): é Ontologia Ideal que
representa a Conceituação de um Domínio Específico, ou seja, uma
Ontologia de Referência de Domínio, construída com base numa
Ontologia Fundacional;
(d) Ontologias Leves (Lightweigth Ontology): são versões (leves) das Ontologias
de Referência, focadas não na adequação da representação, mas em garantir
propriedades computacionais desejáveis. São também chamadas de
Implementação de Ontologia, e para representá-las utiliza-se uma linguagem
de implementação com a expressividade convenientemente restringida. O
objetivo é ser entendida/utilizada por máquinas.
Em sua tese, Guizzardi (2005) mostra como Linguagens de
Representação/Modelagem podem ser avaliadas e (re)projetadas com o propósito
de melhorar sua adequação ontológica, propondo um método sistemático de
avaliação para comparar o metamodelo de uma linguagem com a Ontologia Ideal da
(Meta)Conceituação correspondente. Nas subseções seguintes, é feito um resumo
deste método para ilustrar a aplicação e a necessidade do uso de ontologias.
18
2.1.1. Ontologia como Modelo Conceitual
Para modelar conceitualmente um domínio, é necessário primeiramente conhecer os
seus conceitos relevantes, que compreendem o que se pode chamar de
Conceituação de Domínio. Os elementos constituintes dessa Conceituação são
usados para articular abstrações de certas situações do mundo real que podem ser
chamadas de Abstrações de Domínio. Essas Abstrações, assim como as
Conceituações, são entidades não-materiais, ou seja, modelos mentais
compartilhados por uma comunidade de usuários de uma linguagem. Faz-se
necessário, então, utilizar uma linguagem para representar esses modelos mentais
em termos de um artefato concreto e assim poder documentar, comunicar e analisar
adequadamente as Conceituações e Abstrações. Para isso utiliza-se uma
Linguagem de Representação, que deve prover aos seus usuários um conjunto de
primitivas de modelagem que possam expressar diretamente o conceitos relevantes
do domínio de uma forma concisa, completa e não ambígua.
O Triângulo de Ullmann (ULLMANN, 1972), representado na figura 2.1, mostra as
relações entre Linguagem, Conceituação e a porção da Realidade que esta
Conceituação abstrai.
Figura 2.1 - Triângulo de Ullmann:
Relações entre algo (coisa) na realidade, sua conceituação e a representação simbólica desta conceituação.
Fonte: Guizzardi, 2007, p. 3 (adaptado).
A relação entre Linguagem e Realidade é sempre intermediada por uma
Conceituação. Esta relação é destacada na figura 2.1 pela linha pontilhada e é
ilustrada com mais detalhes na figura 2.2. Esta figura mostra as relações entre uma
19
Conceituação, suas Abstrações, suas Linguagens de Representação e suas
Especificações de Modelo.
Figura 2.2 - Relações entre Conceituação, Abstrações, Linguagens de Representação e Modelo.
Fonte: Guizzardi, 2007, p. 3 (adaptado).
A representação de uma Abstração de Domínio em termos de uma linguagem é
chamada de Especificação de Modelo (ou simplesmente Modelo) e a linguagem
usada para a sua criação é chamada de Linguagem de Representação/Modelagem. Esta linguagem representa uma Conceituação de Domínio usada para compor a abstração representada por uma especificação de
modelo. Por exemplo, uma conceituação para o domínio de genealogia pode ser
construída considerando conceitos como Man, Woman, partenOf, Father, Mother,
entre outros. Usando estes conceitos, pode-se articular várias abstrações de
domínio, por exemplo, que uma mulher (Woman) chamada Mônica é mãe (Mother)
de um homem (Man) chamado Agostinho. Para esses exemplos de Conceituação e
Abstração, as figuras 2.3 e 2.4 exemplificam os conceitos de Linguagem de
Representação e Especificação de Modelo respectivamente.
Figura 2.3 - Uma Linguagem de Representação para o Domínio de Genealogia
20
Figura 2.4 - Um Modelo do Domínio de Genealogia, instância da linguagem mostrada na figura 2.3.
Pode-se dizer que, para um Modelo representar fielmente uma Abstração, as
primitivas de modelagem da Linguagem usadas para produzir esse modelo devem
representar fielmente a Conceituação usada para articular essa Abstração. Quanto
mais forte a correspondência entre uma Abstração da Realidade e seu Modelo de
Representação, mais fácil é comunicar e raciocinar com esse modelo. A força dessa
correspondência está diretamente ligada à qualidade da Linguagem de
Representação usada, e pode ser medida através de critérios como Adequação ao Domínio e Adequação à Compreensão. O primeiro mede a capacidade de uma
linguagem de se adequar aos fenômenos de um domínio. O outro mede a
adequação pragmática da linguagem, ou seja, refere-se ao quão fácil é para um
usuário reconhecer o significado dos construtores da linguagem e entender,
comunicar e raciocinar com as especificações produzidas utilizando-a.
Uma Conceituação de Domínio delimita todas as possíveis Abstrações que são
admissíveis no domínio (GUARINO, 1998 apud GUIZZARDI, 2007). Por exemplo,
uma Conceituação do Domínio de Genealogia não pode admitir uma Abstração em
que uma pessoa seja pai do seu próprio pai, pois tal estado do mundo não pode
acontecer na realidade. Da mesma forma, “uma Linguagem de Representação pode
ser vista como delimitadora de todas as possíveis especificações que podem ser
construídas utilizando-a, isto é, toda especificação gramaticalmente válida da
linguagem” (GUIZZARDI, 2007, p. 6). Retornando ao exemplo anterior, também uma
Linguagem de Representação do Domínio de Genealogia não pode permitir que tal
Abstração seja representada. Sendo assim, pode-se dizer que uma Linguagem Ideal de Representação (de domínio) é aquela é fiel ao seu domínio, ou seja, que
tem como Especificações de Modelo Válidas (gramaticalmente corretas) apenas
21
as que representam Abstrações admissíveis pela Conceituação daquele domínio.
Isso é possível quando o metamodelo da Linguagem de Representação é isomórfico
à Ontologia Ideal de Domínio, como mostra a figura 2.5.
Figura 2.5 - Aplicação de ontologias na criação e avaliação de Linguagens de Representação.
Ontologia Ideal ou Ontologia de Referência é aquela que descreve todos e
somente os estados de mundo admissíveis pela (Meta)Conceituação com a qual ela
se compromete. Uma Ontologia de Referência de Domínio é, portanto, uma
descrição explícita e formal da porção da realidade correspondente ao domínio em
termos de um artefato concreto, através do qual a estrutura de Conceituação do
Domínio deve também ser acessível. Seu objetivo é “fazer a melhor descrição
possível do domínio da realidade com respeito a um certo nível de granularidade e
perspectiva” (Guizzardi, 2007, p. 6).
Voltando ao exemplo do domínio de Genealogia, as figuras 2.6, 2.7 e 2.8 ilustram
respectivamente uma Ontologia de Referência de Domínio, as primitivas de
modelagem de uma Linguagem Ideal de Representação e alguns Modelos válidos e
inválidos nesta linguagem.
22
Figura 2.6 - Uma Ontologia de Referência para o Domínio de Genealogia.
Fonte: Guizzardi, 2007, p. 13.
Figura 2.7 - Primitivas de uma Linguagem de Modelagem do Domínio de Genealogia isomórfica à
ontologia mostrada na figura 2.6. Fonte: Guizzardi, 2007, p. 14.
23
Figura 2.8 - Exemplos de Modelos inválidos (a-c) e de um Modelo válido (d) na linguagem mostrada
na figura 2.7. Fonte: Guizzardi, 2007, p. 14.
Na figura 2.8, os modelos (a-c) são exemplos de modelos inválidos que, apesar de
serem gramaticalmente corretos conforme a linguagem, não devem ser admitidos
por ela, uma vez que não são semanticamente válidos conforme a ontologia em que
se baseia a linguagem.
Instanciando o padrão da figura 2.5 para o exemplo do Domínio de Genealogia,
obtemos a correspondência mostrada na figura 2.9.
Figura 2.9 - Instância do padrão da figura 2.5 para o exemplo do Domínio de Genealogia.
Para construir a Linguagem da figura 2.7 foi utilizada como metamodelo a Ontologia
de Domínio de Genealogia representada na figura 2.6. Contudo, para se produzir
24
Ontologias de Domínio como esta, é necessário utilizar uma Linguagem de Representação de Ontologia “cujas primitivas incluem teorias que ajudem na
caracterização formal de uma Linguagem Ideal de Representação de Domínio
Específico, restringindo seus modelos lógicos àqueles admissíveis pela
Conceituação” (GUIZZARDI, 2007, p. 9). Essas teorias são desenvolvidas pela
Ontologia Formal, que é uma parte da disciplina filosófica de Ontologia.
A figura 2.10 é análoga à figura 2.2, porém num nível acima (meta-nível), em que se
considera a existência da Meta-Conceituação e de (Meta)Linguagens de
Modelagem, usadas para compor Modelos Conceituais.
Meta-Conceituação
Conceituações
Linguagens de Modelagem Conceiual
representada por
interpretada como
representada por
interpretada como
usada para compor
instância de usada para compor
instância de
Modelos Conceiuais
Figura 2.10 - Meta-Conceituação e (Meta)Linguagens usadas para compor Modelos Conceituais.
Uma Meta-Conceituação define o conjunto de todas as conceituações de domínio
que são fieis à realidade. Em outras palavras, ela é um conjunto de meta-conceitos
independentes de domínio que são usados para articular conceituações dos
diversos domínios, por exemplo, conceitos como parte, todo, papel e evento. Esses
conceitos devem ser devidamente capturados pelas Linguagens de Modelagem Conceitual para serem utilizados nos Modelos Conceituais. Estes são propostos
para representar as Conceituações de um Domínio, e também são usados como
Metamodelos para construir Linguagens de Representação de Domínio Específico.
Um Metamodelo de Linguagem é a descrição da sintaxe abstrata da linguagem,
que define “um conjunto de construtores, selecionados com o propósito de realizar
tarefas específicas, bem como um conjunto de regras bem formadas para combinar
25
estes construtores a fim de criar modelos gramaticalmente válidos na linguagem”
(GUIZZARDI, 2007, p. 5).
Uma Linguagem Ideal de Modelagem Conceitual é aquela que representa
fielmente os conceitos da Meta-Conceituação com a qual se compromete. Para isso,
ela deve ser suficientemente expressiva para caracterizar formalmente as distinções
ontológicas, sendo também uma Linguagem Ideal de Representação de Ontologias. Utilizando-se esta linguagem, cujo metamodelo é isomórfico à
Ontologia Ideal Fundacional, pode-se construir Ontologias de Referência de
Domínio, que é um tipo específico de Modelo Conceitual, como mostra a figura 2.11.
Figura 2.11 - Aplicação de Ontologias Fundacionais na criação e avaliação de Modelos
Conceituais/Ontologias de Referência.
Uma Ontologia Ideal Fundacional ou Ontologia de Referência Fundacional é
aquela independente de domínio, construída utilizando-se as teorias desenvolvidas
pela Ontologia Formal, e que “provê os conceitos fundamentais sobre os quais as
Ontologias de Domínio Específico devem ser construídas” (GUIZZARDI; WAGNER,
2005, p. 1).
A Ontologia de Domínio representada na figura 2.6 foi construída utilizando-se a
Linguagem Ideal de Representação de Ontologias OntoUML, cujo Metamodelo é
isomórfico à Ontologia de Referência Fundacional chamada UFO. Ambas, UFO e
OntoUML, são abordadas na seção 2.2. De fato, uma ontologia como a da figura 2.6
é mais acurada do que se tivesse sido representada em ER, OWL, LINGO (FALBO
et al., 2002) ou UML padrão, que são Linguagens de Modelagem Conceitual, mas
não são ideais.
26
Instanciando o padrão da figura 2.11 para o exemplo do Domínio de Genealogia
obtém-se a correspondência mostrada na figura 2.12.
Figura 2.12 - Instância do padrão da figura 2.11 para o exemplo do Domínio de Genealogia.
Em resumo, para um certo Domínio, uma Ontologia de Referência (deste Domínio)
pode ser vista como o seu Modelo Conceitual mais adequado pois permite
representar todos e apenas os estados de mundo que a sua Conceituação admite.
Além disso, essa ontologia precisa ser escrita numa linguagem ontologicamente bem
fundamentada. Para isso, é necessário que o Metamodelo dessa Linguagem de
Representação de Ontologias seja isomórfico a uma Ontologia Fundacional, que
represente fielmente a Meta-Conceituação usada para compor a Conceituação do
Domínio.
A alta expressividade necessária para modelar adequadamente um domínio, não é
favorável à construção de aplicações computacionais. Entretanto, isso não elimina a
necessidade de Ontologias de Referência bem fundamentadas como foi visto até
então. A seção seguinte mostra a ontologia usada como Implementação e sua
relação com a ontologia como Modelo Conceitual, e ressalta a importância de cada
uma delas.
27
2.1.2. Ontologia como Implementação
Para se utilizar ontologias em aplicações computacionais, em geral, é necessário
preocupar-se com propriedades computacionais tais como decidibilidade,
tratabilidade e outros. Esses requisitos não só são irrelevantes na construção de
uma Ontologia como Modelo Conceitual, como são opostos à alta expressividade
geralmente necessária para melhor representar o domínio em questão. Torna-se
então necessário restringir convenientemente a expressividade da Ontologia de
Referência de Domínio para atender aos requisitos computacionais, produzindo
assim uma Ontologia como Implementação.
Se por um lado uma Ontologia de Domínio altamente expressiva pode ser
computacionalmente desinteressante pela dificuldade/impossibilidade de ser
implementada eficientemente, por outro lado, uma Ontologia implementada sem uma
boa fundamentação poderá ter sua qualidade comprometida.
Segundo Guizzardi (2007), até o momento, não existe uma linguagem de
representação de ontologia capaz de atender a esses requisitos conflitantes. Ele
defende a posição de que são necessárias duas classes de linguagens que
permitam produzir tanto a Ontologia de Referência de Domínio, com toda a
expressividade necessária, quanto a Ontologia Leve, que atenda aos requisitos
computacionais desejáveis. Porém a construção dessas ontologias deve seguir
métodos análogos aos de engenharia nas disciplinas de Engenharia de Software e
de Sistemas de Informação, em que existe uma clara distinção entre Modelagem
Conceitual, Projeto e Implementação. “Em Modelagem Conceitual, uma
especificação independente de solução é produzida visando uma descrição clara e
precisa dos elementos do domínio com o propósito de comunicação, aprendizado e
solução de problemas. Na fase de Projeto, essa especificação conceitual é
transformada em uma especificação de projeto levando em consideração várias
questões como estilos de arquitetura, critérios de qualidade não-funcionais a serem
maximizados, ambiente de implementação, etc. Finalmente, na fase de
Implementação, o projeto é codificado em uma linguagem alvo para ser então
implantado em um ambiente computacional. O Projeto, então, liga o Modelo
Conceitual à Implementação” (GUIZZARDI, 2007, p. 16).
28
Analogamente, para a Engenharia de Ontologia, devem existir essas três fases. Na
fase de Modelagem Conceitual é criada a Ontologia de Referência de Domínio,
focada na adequação da representação, que pode ser usada por humanos em
tarefas como comunicação, análise de domínio, negociação de significados,
estabelecimento de consensos e solução de problemas. Na fase de Implementação,
uma vez que os usuários já concordaram com uma Conceituação comum, versões
da Ontologia de Referência podem ser criadas com foco em garantir propriedades
computacionais desejáveis. Essas versões têm sido chamadas na literatura de
Ontologias Leves. Para representá-las podem ser usadas linguagens como OWL e
LINGO. “Finalmente, uma fase é necessária para ligar a modelagem conceitual à
implementação dessas ontologias. Questões que podem ser abordadas nesta fase
são, por exemplo, determinar como lidar com a diferença de expressividade das
linguagens que podem ser usadas em cada uma das fases, ou, como produzir
especificações leves que maximizem requisitos não-funcionais (por exemplo,
capacidade de evolução versus performance de raciocínio automático)”
(GUIZZARDI, 2007, p. 16).
Todavia, é importante ressaltar que essas linguagens usadas para implementação
de Ontologias são linguagens de nível epistemológico1 (não de nível ontológico), e,
portanto, o termo Linguagens de Representação de Ontologias, neste caso, é
utilizado inadequadamente. “O projeto de linguagens epistemológicas põe forte
ênfase no processo de inferência, e o estudo do conhecimento é limitado à sua
forma, ou seja, é independente do significado dos próprios conceitos. Dessa forma, o
foco dessas linguagens é mais no raciocínio formal do que na representação
(formal)” (GUIZZARDI, 2007, p. 11). Sendo assim, elas não devem ser usadas para
representar Ontologias Conceituais de Domínio, mas para implementar as ontologias
construídas numa linguagem de representação apropriada.
As duas classes de linguagens sugeridas por Guizzardi são: (i) linguagens de
representação de ontologias bem fundamentadas, focadas na adequação da
representação; (ii) linguagens de representação leves que considerem as
propriedades computacionais desejáveis. Linguagens do tipo (i) devem ter alta
expressividade para caracterizar formalmente as distinções ontológicas. Entretanto,
1 Epistemologia é o ramo da metafísica que estuda a natureza e as origens do conhecimento.
29
linguagens do tipo (ii) utilizam linguagens lógicas expressividade limitada para
atender aos requisitos não funcionais. Por exemplo, a linguagem OWL DL utiliza
lógicas descritivas e tem sido cuidadosamente projetada para manter propriedades
interessantes tais como tratabilidade computacional e decidibilidade, que, em geral,
faltam em linguagens mais expressivas. A figura 2.13 ilustra as Linguagens Ideais de
Representação de Ontologia (i), e também as Linguagens(*) de Representação de
Ontologia (ii). Esta última é marcada com um asterisco para enfatizar que, nesses
casos, este termo é utilizado de forma imprecisa.
Figura 2.13 - Ontologias Leves são modelos conceituais baseados em uma Ontologia de Referência
de Domínio.
Também é ilustrada nessa figura a necessidade de se construir Ontologias Leves
sempre baseadas em uma Ontologia de Referência de Domínio. É importante
destacar que a necessidade das “[...] Ontologias de Referência tem sido reconhecida
em muitos casos na prática. Por exemplo, Guizzardi (2006) ilustra exemplos de
problemas de interoperabilidade semântica que podem não ser detectados quando
interoperando ontologias leves. Igualmente, Fielding et al. (2004) discute como uma
Ontologia Fundacional pode ser usada para detectar inconsistências e prover
soluções para problemas em Ontologias Leves Biomédicas” (GUIZZARDI, 2007, p.
16).
A figura 2.14 mostra a instanciação do padrão da figura 2.13 no contexto deste
trabalho, em que uma Ontologia de Referência de ECG (Modelo Conceitual), na
linguagem OntoUML, é mapeada em uma Ontologia Leve (Implementação), na
linguagem OWL.
30
Figura 2.14 - Instância do padrão da figura 2.13 para o Domínio de Eletrocardiografia.
As seções seguintes abordam as linguagens utilizadas para criar a Ontologia de
ECG como Modelo Conceitual e como Implementação.
2.2. Linguagem para Modelagem Conceitual
A Ontologia de Eletrocardiograma (ver Capítulo 3), que é o objeto de estudo deste
trabalho, foi escrita na Linguagem de Representação de Ontologias OntoUML, cujo
metamodelo é isomórfico à Ontologia Fundacional UFO (Unified Foundational
Ontology).
A UFO foi proposta inicialmente em (Guizzardi, 2005) e aplicada no método de
avaliação de linguagens de modelagem também proposto pelo autor. Ela é dividida
em três partes incrementais:
− UFO-A: é o núcleo da UFO e define termos relacionados a aspectos estruturais
como conceitos gerais de objetos, suas propriedades intrínsecas e relacionais, os
tipos que eles instanciam, os papéis que eles desempenham, etc.;
− UFO-B: define, como incremento da UFO-A, termos relacionados a
processos/eventos;
− UFO-C: define, como incremento da UFO-B, termos relacionados à esfera de
entidades intencionais e sociais, incluindo-se entidades lingüísticas.
31
“Essa divisão reflete uma certa estratificação do mundo, com diferentes graus de
consenso: existe mais consenso sobre a ontologia de objetos do que sobre ontologia
de processos/eventos, assim como existe mais consenso sobre esta última do que
sobre ontologia de entidades intencionais e sociais” (GUIZZARDI; WAGNER, 2005,
p. 4). Os autores esperam que essa divisão em diferentes partes facilite tanto a
evolução da UFO quanto a sua adoção em Engenharia de Ontologia.
Também a Linguagem OntoUML foi proposta em (GUIZZARDI, 2005) como
resultado da aplicação do método de avaliação (ver seção 2.1) à Linguagem de
Modelagem Conceitual UML 2.0 (Unified Modeling Language – Linguagem de
Modelagem Unificada) tendo a UFO como Ontologia de Referência Fundacional. Em
outras palavras, ela é uma versão estendida da UML 2.0 ontologicamente bem
fundamentada.
Na próxima seção são abordados alguns elementos das UFO’s A e B, usados para
construir a Ontologia de Eletrocardiograma. A UFO-C não será abordada uma vez
que não faz parte do escopo deste trabalho. Ao leitor interessado, recomenda-se
(GUIZZARDI, R.; GUIZZARDI, G., 2008), (GUIZZARDI; WANGER, 2005) e
(GUIZZARDI, G.; FALBO; GUIZZARDI, R., 2008). Na seção 2.2.2 é dada uma visão
geral da linguagem OntoUML focando também nos estereótipos usados na
construção da Ontologia de Eletrocardiograma.
2.2.1. UFO-A/B (Unified Foundational Ontology)
A UFO é a síntese de uma seleção de ontologias fundacionais. Dentre elas, a
GFO/GOL é a Ontologia GFO (General Formal Ontology) subjacente à Linguagem
GOL (General Ontology Language) desenvolvida pelo grupo de pesquisa OntoMed
da Universidade de Leipzig (DEGEN et al., 2001 apud GUIZZARDI; WAGNER,
2005); e a OntoClean/DOLCE é a junção da ontologia OntoClean (WELTY;
GUARINO, 2001 apud GUIZZARDI; WAGNER, 2005) com a Ontologia Descritiva
para Engenharia Lingüística e Cognitiva, desenvolvida pelo grupo de pesquisa ISTC-
CNRLOA (GUIZZARDI; WAGNER, 2005).
32
Segundo Guizzardi e Wagner (2005), essas ontologias fundacionais, assim como
outras então existentes, apresentam propriedades interessantes, mas também
limitações consideráveis na habilidade de capturar os conceitos básicos de
Linguagens de Modelagem Conceitual. A proposta da UFO é justamente unificar
essas ontologias aproveitando suas características positivas e sanando as limitações
detectadas. A representação da UFO tem como base um modelo MOF/UML (OMG,
2004 apud GUIZZARDI; WAGNER 2005), recomendado pela OMG. Além deste
modelo, em (GUIZZARDI, 2005) é apresentada uma caracterização formal completa
da UFO-A. A UFO-B é apresentada em artigos subseqüentes, como (GUIZZARDI,
G.; FALBO; GUIZZARDI, R., 2008). Nesta seção, é apresentado um fragmento das
UFOs A e B em língua inglesa, como foram concebidas, devido à
dificuldade/impossibilidade de se traduzir alguns termos.
O elemento fundamental da UFO é chamado de Entidade (Entity), ou seja, todos os
outros elementos representados da UFO são fundamentalmente chamados de
entidades. A distinção principal da UFO é entre Universais (Universals) e
Particulares (Particulars). O primeiro se refere a tipos de entidades (types of
entities), ou seja, padrões de características que podem ser percebidos em
diferentes Particulares. Estes, por sua vez, são entidades que existem na realidade e
possuem uma identidade única (GUIZZARDI, G.; FALBO; GUIZZARDI, R., 2008).
Cada Particular é, portanto, instância de um Universal. No escopo deste trabalho,
porém, são considerados apenas os Universais, omitindo-se o termo Universal ou
Type após cada entidade, ou seja, quando for usado, por exemplo, o termo como
Objeto, este se refere a um Objeto Universal.
A Figura 2.15 mostra um fragmento da UFO com os conceitos necessários para o
entendimento da Ontologia de Eletrocardiograma apresentada na Seção 3.2.
33
Figura 2.15 - Fragmento da UFO usado para desenvolver a Ontologia de Eletrocardiograma.
Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 4 (adaptado).
A distinção principal para um Universal é entre Endurant e Perdurant, que pode ser
compreendida em termos da distinção entre Objetos e Eventos, e reflete o
comportamento dessas entidades em relação ao tempo. Endurants são tipos de
indivíduos duradouros, totalmente presentes sempre que estiverem presentes, como
uma pessoa, um buraco, um monte de areia. Em outras palavras, se um Endurant E
tem uma propriedade P1 em uma circunstância C1 e, numa circunstância C2, tem a
propriedade P2, trata-se sempre do mesmo Endurant E nas duas situações. Por
exemplo, um indivíduo A que pesa X kg em C1 e Y kg em C2 é sempre o mesmo
indivíduo A. Perdurants, por sua vez, são tipos de indivíduos compostos de partes
temporais, que ocorrem no tempo, no sentido de que se prolongam no tempo
acumulando tais partes. São exemplos de Perdurant uma conversa, um jogo de
futebol e uma festa. Sempre que um Perdurant está presente, não é o caso que
todas as suas partes temporais estão presentes. Por exemplo, seja um processo
empresarial “comprar produto” em diferentes instantes de tempo em que ele está
presente, em cada um desses instantes apenas algumas das suas partes próprias
temporais estão presentes. Como conseqüência, Perdurants não apresentam
mudanças no tempo em um sentido genuíno uma vez que nenhuma de suas partes
34
temporais mantém a sua identidade através do tempo (GUIZZARDI, G.; FALBO;
GUIZZARDI, R., 2008).
Um Perdurant pode ser chamado também de Evento (Event) e este, por sua vez,
pode ser um Evento Atômico (Atomic Event) ou um Evento Complexo (Complex
Event). Eventos Atômicos são aqueles que não têm partes impróprias (não podem
ser divididos), enquanto Eventos Complexos são agregações de pelo menos dois
Eventos (Atômicos ou Complexos) (GUIZZARDI, G.; FALBO; GUIZZARDI, R., 2008).
Entidades Monádicas (Monadic) e Relações são especializações de Endurants. O
primeiro é aplicado a um único indivíduo, enquanto o outro é aplicado a dois ou mais
indivíduos. Instâncias de Entidades Monádicas podem ser Objetos (Objects) ou
Propriedades (Properties). Objetos, por sua vez, podem ser Sortais (Sortals) ou
Mixin. Sortal é o tipo de entidade que dá suporte ao uso do Princípio da Identidade
pelos particulares que o instanciam. O Princípio da Identidade, por sua vez, permite
julgar se dois particulares são o mesmo, ou seja, em quais circunstâncias a relação
de identidade vale. Mixin é o tipo de entidade que representa Universais Dispersivos
(Dispersive Universal), ou seja, cobrem conceitos com diferentes princípios de
Identidade (GUIZZARDI, 2005).
Espécie (Kind), Subespécie (Subkind), Coleção (Collection), Fase (Phase) e Papel
(Role) são especializações de Sortal. Espécie é um tipo que provê o Princípio de
Identidade às suas instâncias, que são chamadas de complexos funcionais, ou seja,
entidades cujas partes exercem diferentes papéis. Por exemplo, Pessoa é uma
Espécie composta de várias partes, cada qual desempenha um papel distinto.
Subespécie é uma especialização de Espécie que herda desta entidade o Princípio
de Identidade. Por exemplo, sendo Pessoa uma Espécie, pode-se definir Homem e
Mulher como suas Subespécies. Um grupo de pessoas, porém, é uma instância do
tipo Coleção. Este tipo, assim como Espécie, provê o Princípio de Identidade a suas
instâncias, que são, porém, conjuntos de objetos que exercem o mesmo papel.
Pode-se dizer ainda que um indivíduo (ou coleção) que é instância de uma
Espécie/Subespécie (ou Coleção), é necessariamente instância deste (em todos os
mundos possíveis). Já o tipo Fase é um Sortal instanciado em determinado mundo
ou período de tempo, mas não necessariamente em todos. Por exemplo, Criança,
Adolescente e Adulto são fases da Espécie Pessoa. Também Papel é um tipo de
35
Sortal instanciado eventualmente, mais precisamente na Participação em um Evento
ou numa determinada Relação. Por exemplo, Mãe é um Papel para a Subespécie
Mulher mediante a existência da relação de maternidade com uma instância do
Papel Filho da Espécie Pessoa. (GUIZZARDI, 2005).
Categoria (Category) é um tipo de Mixin, que classifica as entidades que pertencem
a Espécies diferentes, mas que compartilham uma propriedade comum essencial (ou
seja, uma propriedade que eles não podem perder). Por exemplo, uma Categoria
Entidade Racional pode ser especializada pelas Espécies Pessoa e Agente Artificial
(GUIZZARDI, 2005).
Propriedade é um tipo que denota as possíveis propriedades de um indivíduo, cujas
instâncias são existencialmente dependentes de entidades singulares (Qualidades -
Qualities) ou entidades múltiplas (Relators). Por exemplo, as Qualidades cor de uma
maçã e carga de um condutor dependem respectivamente da maçã e do condutor
para existir. Elas podem ainda ser simples (por exemplo, peso, idade e temperatura)
ou complexas, ou seja, uma agregação de qualidades (por exemplo, a qualidade
cor é a agregação das qualidades matiz, saturação e brilho). Exemplos de Relator
incluem um casamento, uma ligação covalente ou uma matrícula. Uma vez que
Relators são entidades existencialmente dependentes de várias outras, eles
estabelecem uma Relação Material entre essas entidades das quais eles dependem
(GUIZZARDI, 2005).
Relação Material (Material Relation) e Relação Formal (Formal Relation) são
especializações do tipo Relação (Relation). Relações Materiais são aquelas entre
indivíduos intermediadas por um Relator, como ‘ser casado com’, ‘estar ligado a’,
‘trabalhar em’, ‘estudar em’, etc. Relações Formais (Formal Relations), em
contrapartida, ocorrem diretamente entre indivíduos. Todo-Parte (Parthood),
Participação e Mediação (Mediation) são especializações de Relações formais. Para
a relação Todo-Parte, são consideradas neste trabalho a relação Parte Essencial (Essential Parthood), em que um todo não pode existir sem aquela parte específica; e
a relação Parte Inseparável (Inseparable Parthood), em que uma parte não pode
existir sem aquele todo específico. Uma Mediação é a relação de dependência
existencial entre um Relator e um indivíduo que ele intermedia. Participação é uma
36
relação definida entre objetos e os eventos nos quais eles participam (GONÇALVES;
GUIZZARDI; PEREIRA FILHO, 2007).
Finalmente, uma Entidade pode ser ainda uma Estrutura de Qualidade (Quality
Structure). Esta pode ser entendida como uma estrutura de medição (ou um espaço
de valores) em que qualidades individuais podem tomar seus valores. Ou seja, uma
Qualidade está associada a uma Estrutura de Qualidade. Por exemplo, a
Qualidade ‘peso’ está associada a um espaço de valores que é uma estrutura linear
isomórfica ao eixo positivo dos números reais. A Qualidade ‘cor’, ao contrário, está
associada a uma estrutura de qualidade tridimensional composta das dimensões
matiz, saturação e brilho. Portanto, cada cor individual tem o seu valor como um
ponto neste espaço conceitual tridimensional (GUIZZARDI, 2005).
Algumas dessas entidades do fragmento da UFO apresentado nesta seção são
mostrados na próxima seção como parte do Metamodelo da Linguagem OntoUML.
2.2.2. OntoUML
Várias Linguagens de Modelagem Conceitual têm sido usadas para Representação
de Ontologias, por exemplo, EER, ORM e UML. Porém, foi verificado em Guizzardi
(2005) que essas não são linguagens adequadas para isso, pois não são
ontologicamente bem fundamentadas, conforme discutido na Seção 2.1.
Em particular, a linguagem UML (Unified Modeling Language) foi proposta como
Linguagem de Representação de Ontologia em Cranefield (1999 apud Guizzardi et
al., 2004). Neste artigo, argumenta-se que, apesar da falta de definição precisa da
semântica formal da UML, essa dificuldade poderia ser superada com
desenvolvimentos feitos pela comunidade UML. Entretanto, em Guizzardi et al.
(2004) defende-se que definir construtores da UML apenas em termos de sua
semântica matemática, apesar de ser essencial, não é suficiente para torná-la uma
Linguagem de Representação de Ontologias. Como mostrado na seção 2.1, para
modelar a realidade, uma Linguagem de Modelagem Conceitual deve ser
fundamentada em Ontologias Fundacionais. Em síntese, ela deve ter tanto a
semântica formal (matemática) quanto a ontológica. Foi demonstrado em Guizzardi e
37
Wagner (2008) as inconsistências ontológicas que a UML possui como não-
completude, não-consistência, não-lucidez e não-laconicidade. Essas
inconsistências são sanadas em Guizzardi (2005), produzindo-se uma versão
ontologicamente bem fundamentada da UML 2.0 que é chamada de OntoUML, cujo
metamodelo é isomórfico à UFO. A Figura 2.16 mostra um fragmento do
metamodelo dessa linguagem.
Figura 2.16 - Fragmento do Metamomdelo da linguagem OntoUML.
Fontes: Guizzardi, 2005 p. 334; Guizzardi, 2007, p. 13; Guizzardi; Wagner, 2008, p. 15 (adaptado)
“A Linguagem de Modelagem Unificada (UML) tem mecanismos de extensão built-in
que permitem modificar os elementos da linguagem para se adaptar a certas
necessidades de modelagem [...]. Um conjunto coerente de tais extensões, definido
de acordo com um propósito ou domínio específicos, constitui um perfil UML (OMG,
2003)” (GUIZZARDI et al., 2004). O perfil UML é composto por: um conjunto de
38
estereótipos que representam distinções ontológicas sobre os tipos de
classificadores propostos na teoria (por exemplo, Kind, Role, Phase, Category,
Mixin); e restrições sobre relações estabelecidas entre estes elementos, que
representam os postulados da teoria. (GUIZZARDI; WAGNER, 2008)
A tabela 2.1 mostra resumidamente as definições de estereótipos definidos no perfil
que implementa as metaclasses do metamodelo da OntoUML, e de possíveis
relações entre esses estereótipos conforme Guizzardi (2005) e Guizzardi, G., Falbo
e Guizzardi, R. (2008). São considerados apenas aqueles usados para modelar a
ontologia de Eletrocardiografia, apresentada na Seção 3.2.
Tabela 2.1 - Tabela de estereótipos definidos no perfil da OntoUML Estereótipos Descrição
«kind» (espécie)
Representa um tipo de objeto sortal cujas instâncias são complexos funcionais, que o instanciam em todos os mundos possíveis. Provê o princípio da identidade a suas instâncias. Exemplos: espécies naturais: Pessoa, Cão e Árvore; artefatos: Cadeira, Carro e Televisão.
«collective» (coleção)
Representa um tipo de objeto sortal cujas instâncias são coleções, que o instanciam em todos os mundos possíveis. Provê o princípio da identidade a suas instâncias. Exemplos: Baralho, Floresta e Grupo de Pessoas.
«subkind» (subespécie)
Representa um tipo de objeto sortal que especializa um sortal e herda dele o princípio da identidade. Exemplos: Homem e Mulher são subespécies da espécie Pessoa.
«phase» (fase)
Representa um tipo de objeto sortal que particiona um sortal e herda dele o princípio da identidade. Exemplos: Criança, Adolescente e Adulto são fases da espécie Pessoa.
«role» (papel)
Representa um tipo de objeto sortal que define o papel de um sortal, mediante a existência de uma relação ou da participação em um evento, e herda dele o princípio da identidade. Exemplos: Mãe é o papel da subespécie Mulher mediante a existência de uma relação com uma instância do papel Filho da espécie Pessoa.
«category» Representa um tipo de mixin que agrega propriedade essenciais que são comuns a diferentes objetos sortais. Exemplo: EntidadeRacional generaliza as espécies Pessoa e AgenteInteligente.
39
«relator» Representa um tipo de propriedade que media dois ou mais sortais, e é existencialmente dependente deles. Exemplos: Casamento media os papéis Marido e Mulher.
«atomic event»
Representa um tipo de evento que não tem partes impróprias. Exemplos: Aula pode ser um evento atômico para uma certa granularidade.
«complex event»
Representa um tipo de evento que é agregação de pelo menos dois outros eventos. Exemplos: SemestreLetivo pode ser um evento complexo composto de vários eventos do tipo Aula, para um certa granularidade.
Relações Descrição «material» Representa um tipo de relação que é induzida por um relator.
Exemplo: Estudante estudaEm Universidade (relação induzida pelo relator matrícula).
«mediation» Representa um tipo de relação formal que relaciona um relator aos objetos que ele media. Exemplo: O universal Casamento media os papéis Esposo e Esposa.
«participation» Representa um tipo de relação formal que relaciona objetos aos eventos em que eles participam. Exemplo: Os papéis Professor e Aluno participam do evento Aula.
2.3. Linguagem para Implementação
A Linguagem escolhida neste trabalho para a implementação da Ontologia é a
Linguagem OWL (Ontology Web Language) baseada na Lógica Descritiva
SHOIN(D), e estendida com a linguagem de regras SWRL (Semantic Web Rule
Language). A escolha de OWL se deu por ser um padrão recomendado pela W3C,
permitindo que a implementação resultante deste trabalho possa ser melhor
aproveitada em trabalhos futuros que visem a criação de aplicações no contexto de
Eletrocardiografia.
Na seção 2.3.1 são abordadas as Lógicas Descritivas (DL). Elas fornecem a
fundamentação lógica das linguagens OWL DL e Lite, que por sua vez são
apresentadas na seção 2.3.2. Por fim, a seção 2.3.3 descreve alguns aspectos da
linguagem de regras SWRL, que estende a OWL possibilitando a utilização de
cláusulas de Horn para aumentar a expressividade.
40
2.3.1. Lógicas Descritivas (DL – Description Logics)
Lógicas Descritivas (DL - Description Logics) são uma família de subconjuntos da
lógica de primeira ordem (FOL - First Order Logic), decidíveis em sua maioria,
usados para formalizar a representação do conhecimento e o raciocínio em
aplicações inteligentes. Entende-se como inteligência/raciocínio a habilidade de
encontrar conseqüências implícitas a partir de representações explícitas do
conhecimento. Essas aplicações são chamadas Sistemas de Representação do
Conhecimento (KRS - Knowledge Representation System). Esta seção é baseada
principalmente em (NARDI; BRACHMAN, 2003), e quando forem omitidas as
referências, entende-se que se trata desta última.
A Representação do Conhecimento (KR - Knowledge Representation) ganhou
grande popularidade por volta dos anos 70. Havia duas categorias de KR:
formalismos baseados em lógica e representações não baseadas em lógica. A
primeira era mais geral e permitia capturar fatos sobre o mundo de forma não
ambígua. A outra, porém, obteve maior aceitação, pois se mostrou mais adequada
do ponto de vista cognitivo, usando, geralmente, representações gráficas e estrutura
de redes para representar os conceitos e as relações entre eles. Redes semânticas
e frames são exemplos de representações não baseadas em lógica que obtiveram
grande sucesso, também chamados de sistemas baseados em redes.
Entretanto, foi constatado que os KRS baseados em redes não apresentavam
caracterização semântica precisa. Reconheceu-se que a lógica de primeira ordem
poderia ser usada como complemento semântico desses sistemas (HAYES, 1979
apud NARDI; BRACHMAN, 2003), de forma que os conceitos seriam representados
por predicados unários e as relações por predicados binários. No entanto, verificou-
se que frames e redes semânticas não exigem todo o maquinário da lógica de
primeira ordem, mas pode-se considerar apenas fragmentos dela (BRACHMAN;
LEVESQUE, 1985 apud NARDI; BRACHMAN, 2003). Além disso, diversos aspectos
da linguagem de representação levam a diferentes fragmentos da lógica de primeira
ordem e o raciocínio nesses diferentes fragmentos leva a problemas computacionais
de diferente complexidade. Diante disso iniciaram-se os estudos sobre a relação
entre a expressividade e a complexidade computacional dos subconjuntos da FOL
41
que culminaram no surgimento das Lógicas Descritivas. As pesquisas sobre DL
foram desenvolvidas com grande sucesso devido principalmente à grande interação
entre estudos teóricos e aplicações práticas em diversas áreas.
Para a sintaxe de DL é definido um tipo de linguagem abstrata em que dois alfabetos
de símbolos distintos denotam conceitos e papéis atômicos, que podem ainda ser
combinados utilizando-se construtores. Conceitos representam conjuntos de
indivíduos e são designados por predicados unários. Papéis representam relações
entre os conceitos são designados por predicados binários. Pode-se usar, por
exemplo, a sentença C para representar uma expressão de conceito. Essa
expressão representa a sentença C(x) da FOL onde a variável x é livre de contexto,
ou seja, representa arbitrariamente todos os indivíduos do domínio de interpretação,
e C(x) é verdadeiro apenas para indivíduos que pertencem ao conceito C. Uma
expressão de conceito também pode ser construída combinando-se conceitos
atômicos através de construtores. Por exemplo, a interseção de conceitos é
denotada por C⊓D que corresponde à expressão C(x) ∧D(x) na FOL. Outros
construtores podem ser usados para estabelecer relações entre conceitos. Por
exemplo, a restrição de valores (value restriction) é denotada pela expressão ∀R.C,
onde R é uma papel atômico e C é um conceito atômico. A expressão
correspondente a esta na FOL é ∀y(R(x, y) → C(y)) onde x é novamente livre de
contexto. Outra regra de restrição é a restrição numérica, denotada, por exemplo, na
forma (≥ n R), onde n é um número inteiro positivo e R é um papel atômico, e que
não tem representação correspondente na FOL.
A técnica padrão para especificar o significado de uma DL é via uma semântica de
teoria de modelos tarskiana (NARDI; BRACHMAN, 2003), cuja proposta é explicar a
relação entre a sintaxe da linguagem e o(s) modelo(s) pretendido(s) do domínio. Um
modelo consiste de um domínio (ΔI ) e de uma função de interpretação (.I), onde o
domínio é o conjunto de objetos e a função de interpretação é um mapeamento de
nomes de indivíduos, classes ou propriedades em elementos do domínio,
subconjuntos do domínio ou relações binárias do domínio, respectivamente. A
função de interpretação pode ser estendida de nomes de classes para descrições de
42
classes complexas. A tabela 2.2 mostra a sintaxe e a semântica para os
construtores.
O domínio de interpretação pode ser escolhido arbitrariamente e pode ser infinito.
Considera-se também a hipótese de mundo aberto, ou seja, não se pode assumir
que uma dada informação é falsa unicamente pela ausência de uma afirmação
sobre sua veracidade. A veracidade da informação deve ser definida explicitamente
num axioma ou ser deduzida a partir de outros axiomas existentes, caso contrário,
nada pode-se afirmar sobre ela.
Tabela 2.2 - Sintaxe e semântica dos construtores de DL. Construtor Sintaxe Semântica Exemplo
conceito atômico A Humano
papel atômico R gostar Para C, D conceitos e R papel
conjunção C ⊓ D Bom ⊓ Rico disjunção C ⊔ D Humano ⊔ Vegetalnegação ┐C ┐Chato restrição
existencial ∃ R.C ∃ temFilho.Humanorestrição de
valores ∀ R.C ∀ temFilho.Loiro
Fonte: HAARSLEV ; MOLLER, 2001 (adaptado)
O exemplo de conjunção Bom ⊓ Rico representa o conjunto de indivíduos do
domínio que satisfazem simultaneamente aos dois conceitos em questão, ou seja,
indivíduos que são bons e ricos. Já a expressão Humano ⊔ Vegetal, exemplo da
disjunção, representa o conjunto de indivíduos que satisfazem pelo menos a um dos
conceitos humano ou vegetal. Para a negação, a expressão ┐Chato representa o
conjunto de todos os indivíduos do domínio que não são chatos. O exemplo da
restrição existencial ∃temFilho.Humano representa o conjunto de indivíduos que tem
pelo menos um filho humano e o da restrição de valores ∀temFilho.Loiro representa
o conjunto de indivíduos cujos filhos, se existirem, são todos loiros.
Uma regra de restrição numérica restringe a cardinalidade do conjunto de
preenchedores (fillers) do papel. Por exemplo, a expressão (≥3temFilho) ⊓
43
(≤2temParentesMulheres) representa o conjunto de indivíduos que possuem três
filhos ou mais e que têm no máximo dois parentes que são mulheres.
Na representação de conhecimento há uma distinção entre conhecimento geral
sobre o domínio do problema, e o conhecimento específico de um problema
particular. Em DL eles estão contidos, respectivamente, em dois componentes: TBox
e ABox.
A TBox contém o conhecimento geral na forma de uma terminologia e é construída
através de declarações que descrevem propriedades gerais de conceitos. A forma
básica de declaração em uma TBox é a definição de conceito, isto é, a definição de
um novo conceito em termos de outros previamente definidos. Em DL, uma
terminologia é constituída por um conjunto de definições de conceito da forma:
A ≡ B ⊔ C, ou ainda A ≡ ∀R.B ⊓ ∃Q.C
Entretanto, há algumas considerações importantes sobre terminologias DL:
− é permitida apenas uma definição para cada conceito;
− definições são acíclicas, no sentido de que os conceitos não são definidos em
termos deles mesmos, nem em termos de outros conceitos que indiretamente se
referem a eles.
Já a ABox contém o conhecimento específico sobre o domínio de interesse, isto é,
afirmações sobre indivíduos, por exemplo:
Pessoa(Monica) ou temFilho(Monica, Agostinho).
A primeira afirmação especifica que o indivíduo Monica é uma pessoa, e a segunda,
que o indivíduo Monica tem um filho que é o indivíduo Agostinho.
Como uma família de linguagens, as lógicas descritivas têm seus membros
construídos a partir da combinação de características pertencentes a um conjunto
sub-linguagens básicas previamente convencionado. Cada um deles é formado
restringindo-se a expressividade da FOL de uma forma particular. Conforme a
44
necessidade de diferentes expressividades, são feitas as combinações entre as sub-
linguagens. Eles são identificados da seguinte forma:
AL - Linguagem Atributiva (Attributive Language). É a linguagem base que permite:
– Negação Atômica
– Interseção de Conceitos
– Restrições Universais
– Quantificação Existencial Limitada
FL− - Uma sub-linguagem de AL, que é obtida proibindo a negação atômica.
FLo - Uma sub-linguagem de FL−, que é obtida proibindo a quantificação
existencial limitada.
C - Negação complexa dos conceitos.
S - Uma abreviação de AL e C com propriedades transitivas.
H - Hierarquia de papéis.
R - Regra de inclusão de axiomas complexa e limitada; reflexividade e
irreflexividade; Regra de disjunção.
O - Indivíduos.
I - Propriedades inversas.
N - Restrições de cardinalidade.
Q - Restrições de cardinalidade qualificadas.
F - Propriedade funcional.
E - Qualificação existencial completa.
U - União de conceitos.
(D ) - Uso de propriedades de tipos de dados, valores de dados ou tipo de dados.
Finalmente, DLs são neutras com respeito aos compromissos ontológicos e é
exatamente essa neutralidade que as torna interessantes para serem usadas no
desenvolvimento de ontologias, uma vez que as primitivas da linguagem não
possuem interpretação ontológica definida a priori (GUIZZARDI, 2007). A próxima
45
seção aborda a linguagem OWL, cujas bases lógicas usadas em duas das suas
espécies são as DLs SHOIN(D) e SHIF(D).
2.3.2. OWL (Ontology Web Language)
OWL é uma linguagem formal para representação de ontologias na Web Semântica,
desenvolvida pelo grupo de trabalho em Ontologia Web da World Wide Web
Consortium (W3C). Ela foi projetada para representar categorias de objetos e as
relações entre eles, além de informações sobre os próprios objetos (HORROCKS et
al., 2003). Diversas linguagens surgidas anteriormente com propósitos semelhantes
influenciaram no desenvolvimento de OWL, visando aproveitar propriedades
interessantes e/ou manter a compatibilidade.
No final da década de 90, um grande número de esforços de pesquisa explorou
como a idéia de representação de conhecimento da inteligência artificial poderia ser
utilizada na Web. Estes esforços incluíram linguagens baseadas em HTML, XML,
frames e abordagens de aquisição de conhecimento. Em 1999, a W3C endossou e
recomendou a RDF (Resource Description Framework) como uma linguagem padrão
para representar informação na Internet. Arquivos RDF são modelos ou fontes de
dados, também conhecidos como metadados (dados sobre dados), tendo como
principais objetivos criar um modelo simples de dados, usar o vocabulário baseado
em URL e uma sintaxe baseada em XML e suportar o uso de XML. Com a intenção
de estruturar recursos de RDF, criou-se o RDFS ou RDF Schema, que é uma
linguagem de representação do conhecimento extensível que provê elementos
básicos para descrição de ontologias, também chamados de vocabulários RDF2.
Porém, foi identificado um número considerável de casos de uso caracteríscos para
Ontologias na Web, os quais requeriam maior expressividade que a oferecida pelas
linguagens RDF e RDFS (ANTONIOU; VAN HARMELEN, 2003). Alguns grupos de
pesquisa nos Estados Unidos e na Europa haviam percebido a necessidade de uma
linguagem de modelagem de ontologias mais poderosa e criaram, respectivamente,
as linguagens DAML-ONT e OIL.
2 Disponível em http://en.wikipedia.org/wiki/Web_Ontology_Language. Acessado em junho 2007.
46
Sendo assim, o ponto de partida para a W3C no desenvolvimento da OWL foi a
junção dessas duas linguagens, chamada DAML+OIL. Segundo Antoniou e Van
Harmelen (2003), buscou-se ainda atender às seguintes restrições: (i) manter a
compatibilidade com RDF/RDFS, estendendo, porém, a capacidade de expressar o
conhecimento ontológico; (ii) ter sintaxe e semântica bem definidas e um poder de
expressividade que mantenha propriedades computacionais desejáveis, para servir
como linguagem de implementação de ontologias.
Diante dessas restrições, percebeu-se que não seria possível satisfazê-las
simultaneamente. Foram criadas, então, três espécies de OWL:
• OWL Full: A linguagem inteira é chamada de OWL Full, e usa todas as primitivas
de linguagem OWL. Também permite combinar essas primitivas arbitrariamente
com RDF e RDFS. A vantagem é que é totalmente compatível com RDF, sintática
e semanticamente: qualquer documento RDF legal é também um documento OWL
Full legal, e qualquer conclusão RDF/RDFS válida é também uma conclusão OWL
Full válida. A desvantagem é que a linguagem se torna indecidível, resultando num
suporte de raciocínio não completo e não eficiente.
• OWL DL: Para ganhar eficiência computacional, OWL DL é uma sublinguagem de
OWL Full que restringe a forma como os construtores de OWL e RDF podem ser
usados. Por exemplo, não é permitido que os construtores OWL sejam usados uns
nos outros. A linguagem OWL DL é baseada na DL SHOIN(D). A vantagem é que
esta é decidível e permite suporte de raciocínio eficiente, e a desvantagem é a
restrição da expressividade. Perde-se ainda a compatibilidade total com RDF: um
documento RDF deverá geralmente ser estendido de uma forma e restringido de
outra para ser um documento OWL DL legal. Inversamente, todo documento OWL
DL legal é um documento RDF legal.
• OWL Lite: Uma restrição ainda maior limita OWL DL a um subconjunto de
construtores. Por exemplo, OWL Lite exclui classes enumeradas, termos disjuntos
e cardinalidade arbitrária, entre outros. É baseada na DL SHIF(Dn). A vantagem é
que a linguagem torna-se mais simples de ser implementada e usada. A
desvantagem é a restrição ainda maior da expressividade.
47
Entre as espécies de OWL existe a seguinte relação de compatibilidade:
• Toda ontologia OWL Lite legal é uma ontologia OWL DL legal.
• Toda ontologia OWL DL legal é uma ontologia OWL Full legal.
• Toda conclusão OWL Lite válida é uma conclusão OWL DL válida.
• Toda conclusão OWL DL válida é uma conclusão OWL Full válida.
A OWL usa XML como sintaxe normativa, da mesma forma como é usado em RDF.
Porém, RDF/XML não provê uma sintaxe muito legível. Por isso, foram definidas
outras formas sintáticas para OWL (ANTONIOU; VAN HARMELEN, 2003):
− Uma sintaxe baseada em XML que não segue as convenções RDF. Essa sintaxe
é significativamente mais fácil de ser lida por humanos.
− Uma sintaxe abstrata que é usada no documento de especificação de linguagem.
Essa sintaxe é ainda mais legível que a sintaxe XML.
− Uma sintaxe gráfica baseada em convenções da linguagem UML (Universal
Modelling Language). Uma vez que UML é amplamente usada, esta é uma
maneira para as pessoas se familiarizarem com OWL. Isto é chamado de ODM
(Ontology Definition Metamodel – Metamodelo de Definição de Ontologia)
A teoria semântica de OWL é compatível com o modelo teórico semântico de RDF.
Em particular, a teoria semântica de OWL DL e Lite também é equivalente ao
modelo teórico semântico da DL (HORROCKS et al., 2003). A tabela 2.3 mostra os
termos da Sintaxe Abstrata OWL (Abstract Syntax) e da Sintaxe DL (DL Syntax)
assim como seus significados semânticos (Semantics), considerando um domínio
(ΔI) e de uma função de interpretação (.I ), como explicado na seção 2.3.1. Pode-se
dizer ainda que uma interpretação satisfaz uma ontologia se e somente se ela
satisfaz cada axioma e fatos da ontologia; uma ontologia é consistente se e somente
se ela é satisfeita por ao menos uma interpretação; e uma ontologia O2 é envolvida
por uma ontologia O1 se e somente se cada interpretação que satisfaz O1 também
satisfaz O2.
48
Tabela 2.3 - Sintaxe Abstrata OWL, Sintaxe DL e Semântica de OWL.
Fonte: HORROCKS et al., 2003, p. 21.
Classes OWL podem ser especificadas como combinações lógicas de outras classes
(interseções, uniões e complementos, respectivamente intersectionOf, unionOf e
complentOf), ou como enumerações de objetos específicos (oneOf). É possível
também estabelecer Intervalos de Dados (Data Range), predefinidos ou enumerados
(oneOf). Pode-se ainda declarar Propriedades (Properties) diretas e/ou inversas,
organizá-las em uma hierarquia de subpropriedades, e prover domínio e imagem
dessas, tanto para Objetos (Objects) (relação binária entre classes) quanto para
Tipos de Dados (Datatypes) (relação binária entre uma classe e um intervalo de
dados). Há também regras de restrição (restriction) (existe, para todo, tem valor e
cardinalidade mínima e máxima, respectivamente correspondentes a
someValuesFrom, allValuesFrom, hasValue, minCardinality e maxCardinality) que
podem ser aplicadas a Propriedades de Objetos ou Tipos de Dados. Por fim, pode-
49
se declarar indivíduos (Individuals) e valores (Data Values) específicos para uma
certa interpretação.
Apesar de OWL DL ser suficientemente rica para tarefas de raciocínio automático no
contexto da web, seu poder de expressividade é limitado para manter-se a
decidibilidade. Algumas extensões para OWL foram desenvolvidas para tentar
contornar essa limitação. Por exemplo, a linguagem de regras SWRL, introduzida na
próxima seção, provê uma forma mais expressiva para estabelecer relações de
conseqüência entre os conceitos e relações.
2.3.3. SWRL (Semantic Web Rule Language)
A linguagem SWRL (Semantic Web Rule Language) é baseada numa combinação
das sublinguagens OWL DL e OWL Lite com as linguagens Unária/Binária Datalog
RuleML, sublinguagens de RuleML (Rule Markup Language). Trata-se de uma
extensão de OWL, que permite aumentar sua expressividade, estendendo o
conjunto de axiomas de OWL para incluir regras do tipo Horn. Em outras palavras,
essa linguagem torna possível escrever regras do tipo Horn, expressadas em termos
dos conceitos OWL, para raciocinar sobre indivíduos, inferindo novos conhecimentos
a partir da base de conhecimentos OWL (O’CONNOR, 2005).
As cláusulas de Horn3 são um tipo especial de FNC4 (forma normal conjuntiva) que
têm formas eficientes para verificar sua satisfabilidade. Segundo Huth e Ryan
(2004), uma cláusula de Horn na lógica proposicional pode ser gerada como uma
instância de C na seguinte gramática5:
P ::= ⊥ | ⊤ | p
A ::= P | P ∧ A
C ::= A → P
3 O nome Horn é uma homenagem ao logicista Alfred Horn. 4 Diz-se que uma fórmula α está na FNC se e somente se α está na forma β1 ∧ β2 ∧ ... ∧ βn , onde cada βi , 1 ≤ i ≤ n, é um literal ou uma disjunção de literais. Literal é uma fórmula atômica ou sua negação. 5 Intuitivamente, pode-se dizer que uma gramática é formada por um alfabeto e por regras gramaticais, sendo capaz de gerar todas as fórmulas bem formadas da linguagem.
50
onde as constante lógicas ⊥ e ⊤ denotam respectivamente uma contradição
(fórmula insatisfatível) e uma tautologia (fórmula válida), e ‘p’ é uma proposição.
Analogamente, pode-se usar a mesma gramática para gerar cláusulas de Horn na
lógica de predicados, considerando ‘p’ como sendo um predicado com variável
quantificada universalmente. Por exemplo, dadas as fórmulas (i) p ∧ q ∧ s → r, (ii), p
∧ q → s ∧ r e (iii) ┐p ∧ q → r, tem-se que, conforme essa gramática, (i) é uma cláusula
de Horn, porém (ii) e (iii) não são, pois, a conclusão da cláusula (ii) tem uma
conjunção, logo, não é do tipo P; e a premissa da cláusula (iii) tem uma negação,
logo, não é do tipo A.
As regras SWRL, como as cláusulas de Horn, têm a forma de uma implicação entre
um antecedente (corpo) e um conseqüente (cabeça). Ambos, antecedente e
conseqüente, consistem de zero ou mais átomos. Múltiplos átomos são tratados
como conjunção. Porém, as regras com conseqüentes conjuntivos podem ser
facilmente transformadas em múltiplas regras cada uma com apenas um
conseqüente atômico.
SWRL possui uma sintaxe XML abstrata para as regras baseada em RuleML e que
estende a sintaxe de apresentação OWL XML. Ela abstrai a sintaxe concreta RDF,
baseada na sintaxe de troca OWL RDF/XML, para facilitar o acesso e avaliação da
linguagem. Apesar de a sintaxe abstrata ser consistente com a especificação OWL e
ser útil para definir serializações XML e RDF, ela é ainda muito prolixa e
particularmente difícil de entender. Por este motivo, criou-se uma sintaxe informal
alternativa, legível por humanos, da forma:
antecedente → conseqüente
onde tanto o antecedente quanto o conseqüente são conjunções de átomos escritos
como a1 ∧ ... ∧ an (HORROCKS, I. et al).
Variáveis são quantificadas universalmente e indicadas usando-se a convenção de
prefixar com um sinal de interrogação (?x). Conforme essa sintaxe, é possível
escrever a seguinte regra, que pode ser entendida como a definição da relação
éTio(x, y):
51
éPai(?z, ?y) ∧ éIrmao(?x, ?z) → éTio(?x, ?y).
O significado pretendido para essas regras pode ser lido como: sempre que as
condições especificadas no antecedente forem atendidas, aquelas especificadas no
conseqüente também precisam ser. Além disso, um antecedente vazio é tratado
como uma verdade trivial (satisfeita por qualquer interpretação), então, o
conseqüente precisa ser verdadeiro para qualquer interpretação; um conseqüente
vazio é tratado como uma falsidade trivial (não satisfeita por nenhuma interpretação),
logo, o antecedente também deve ser falso para qualquer interpretação.
A semântica de teoria de modelos tarskiana para SWRL é uma extensão direta da
semântica para OWL. A idéia básica é definir ligações (bindings), extensões de
interpretações OWL que também mapeiam variáveis em elementos do domínio. Uma
regra é satisfeita por uma interpretação se e somente se cada ligação que satisfaz o
antecedente também satisfaz o conseqüente. As condições semânticas relacionadas
a axiomas e ontologias não são mudadas, por exemplo, uma interpretação satisfaz
uma ontologia se e somente se ela satisfaz cada axioma, incluindo-se as regras
(HORROCKS, I. et al).
Em resumo, as regras SWRL são úteis para estabelecer relações de conseqüência
de uma maneira mais expressiva do que se consegue fazer em OWL. Por exemplo,
nesta última, pode-se declarar restrições apenas sobre classes e ainda como
condição necessária e/ou necessária e suficiente. Isso significa que uma definição
como o exemplo “éTio” não tem como ser feita em OWL, pois é a definição de uma
propriedade (e não de uma classe), e trata-se apenas de uma condição suficiente (e
não necessária ou necessária e suficiente). Portanto, como a SWRL é usada para
fazer inferências sobre os indivíduos que povoam o domínio, a partir do exemplo
anterior pode-se inferir quem “éTio” de quem para uma dada interpretação.
Existe ainda um recurso de executar consultas à base de conhecimento de uma
ontologia OWL, utilizando-se a biblioteca SWRL Query Built-In. Ela define um
conjunto de construtores que podem ser usados para realizar essas consultas. A
linguagem de consulta resultante não altera a semântica SWRL e usa o mesmo
padrão de sintaxe. No contexto deste trabalho, são utilizados apenas os construtores
select e orderBy. Por exemplo, a regra de consulta:
52
éTio(?x, ?y) → query:select(?x, ?y) ∧ query:orderBy(?x, ?y).
retorna a informação de quais indivíduos são tios e seus respectivos sobrinhos,
ordenados alfabeticamente nessa ordem (PROTÉGÉ, 2007).
Contudo, Horrocks et al., (2005) mostra que a extensão da OWL DL para inclusão
das regras SWRL torna-a indecidível. Este, porém, é o preço a ser pago para se ter
uma expressividade maior que aquela estudada e prevista para linguagem.
53
3. Domínio de Estudo
Este capítulo é baseado no trabalho desenvolvido em (GONÇALVES; GUIZZARDI;
PEREIRA FILHO, 2007) e compreende a descrição do domínio de
Eletrocardiograma (ECG) e da ontologia que o modela. Foram necessárias, porém,
adaptações em alguns axiomas da ontologia para que se tornassem mais
apropriados para a implementação. Para as referências omitidas neste capítulo,
entende-se que se trata deste mesmo artigo.
O propósito da ontologia de ECG desenvolvida é “prover uma teoria de ECG para: (i)
permitir interoperabilidade semântica e integração de dados e padrões entre
sistemas de saúde, os quais são atualmente pontos chave de pesquisa em
Informática Médica; (ii) permitir uma nova abordagem de inteligência artificial para
análise automática de ECG; e (iii) convencionar um repositório de conhecimento
sobre ECG. A ontologia proposta cobre o domínio de vários pontos de vista
complementares. Dessa forma, é provida uma visão integral da atividade cardíaca
da perspectiva microscópica até a macroscópica” (GONÇALVES; GUIZZARDI;
PEREIRA FILHO, 2007, p. 2).
3.1. Domínio de Eletrocardiografia
Eletrocardiografia é a técnica de registro de sinais elétricos gerados pela atividade
do coração. Enquanto um impulso elétrico cardíaco é conduzido no coração
humano, correntes elétricas passam em volta dos tecidos próximos a ele e
levemente alcançam a superfície do corpo. Assim, o potencial elétrico gerado pelo
coração pode ser medido através de pequenos sensores (eletrodos) colocados em
pontos opostos da superfície do corpo (GUYTON; HALL, 1996 apud GONÇALVES;
GUIZZARDI; PEREIRA FILHO, 2007). Essa técnica foi introduzida por Einthoven em
1902, com a invenção do galvanômetro string, pela qual ele recebeu o Prêmio
Nobel.
O surgimento da Eletrocardiografia, que é um procedimento relativamente rápido,
fácil e não invasivo, foi de suma importância, uma vez que as doenças do coração
54
constituem uma das maiores causas de mortalidade no mundo. Chama-se de
Eletrocardiograma (ECG) o registro resultante da aplicação dessa técnica
(GESELOWITZ, 1989 apud GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007). De
acordo com SCP (2002 apud GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007),
mais de 100 milhões de ECGs são registrados anualmente na Europa Ocidental.
Sabe-se ainda que várias cardiopatias podem ser identificadas por anomalias
específicas em algumas características do ECG. Essas características são: a
morfologia das ondas e complexos que compõem um ciclo cardíaco; e o tempo dos
eventos e variações de padrão em várias batidas.
Com o avanço tecnológico foram obtidas muitas melhorias em instrumentação e
computadores digitais. Surgiu também a possibilidade de se fazer interpretação
automática de ECG por programas computacionais. De acordo com Geselowitz
(1989 apud GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007), o ECG foi
possivelmente o primeiro sinal de diagnóstico a ser estudado com este propósito.
Em especial, as novas tecnologias de informação e comunicação (ICT) permitiram o
surgimento da Telecardiologia. A transmissão de ECGs está entre os serviços
médicos de Cardiologia que podem ser providos remotamente, de uma forma
econômica e eficiente. “Esses serviços vão desde um simples monitoramento
remoto, através da transmissão de um ECG (por meio das tecnologias mobile e
wireless), até a transmissão de ECG ambulatório (AECG), possibilitando o
provimento de telemonitoramento cardíaco a qualquer hora e em qualquer lugar”
(GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007, p. 2). Assim, utilizando-se a
transmissão e interpretação de ECGs, torna-se possível ajudar e agilizar a
identificação de vários tipos de doenças cardíacas.
Contudo, nota-se que, para melhor explorar o potencial desses serviços, é
importante a padronização do armazenamento e transmissão dos registros ECG.
Dentre os principais padrões, o AHA/MIT-BIH e o SCP-ECG são usados para
armazenamento e transmissão de registros respectivamente. Também o HL7,
FDADF e ecgML são novos padrões criados tentar prover soluções para o problema
de interoperabilidade utilizando a Internet. Apesar de tais formatos serem
considerados padrões de referência em Cardiologia, eles não são favorecem a
interoperabilidade semântica sobre aplicações baseadas em ECG, como a
55
integração de dados. Isso se dá, em geral, por se representar o domínio com
modelos conceituais de baixa expressividade e clareza, e/ou por haver um forte
acoplamento com ambientes de programação específicos e linguagens cujos
metamodelos misturam conceitos de domínio com os de apresentação.
Tendo em vista essas questões, foi desenvolvida em (GONÇALVES; GUIZZARDI;
PEREIRA FILHO, 2007) uma ontologia de Eletrocardiograma com o objetivo
principal de obter uma teoria de eletrocardiograma independente de aplicações
específicas do domínio. Essa ontologia é apresentada na próxima seção.
3.2. Ontologia de Eletrocardiograma
A ontologia de Eletrocardiograma está representada na Linguagem OntoUML e para
desenvolvê-la foi aplicado o método SABIO (Systematic Approach for Building
Ontologies - Abordagem Sistemática para Construção de Ontologias) proposto em
Falbo (2004 apud GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007) . Esta
ontologia está dividida em cinco sub-ontologias, conectadas por relações entre os
conceitos e por axiomas. São elas:
(i) Sub-ontologia do coração;
(ii) Sub-ontologia dos fenômenos bioelétricos;
(iii) Sub-ontologia do fenômeno circulatório;
(iv) Sub-ontologia protocolo humano de ECG;
(v) Sub-ontologia de Eletrocardiografia.
Uma das atividades do método SABIO é a identificação do propósito ontológico por
meio das questões de competência. Em (GONÇALVES; GUIZZARDI; PEREIRA
FILHO, 2007) são definidas nove dessas questões para esta ontologia, descritas a
seguir. Elas levam a um mapeamento entre a atividade do coração e os conceitos de
eletrocardiografia.
QC1: Quais condições devem ser satisfeitas para o coração exercer o papel de
bomba de sangue?
56
QC2: Quais condições devem ser satisfeitas para o coração estar apto a bombear
sangue para a circulação sistêmica e pulmonar?
QC3: O que está por trás de uma sessão de registro ECG?
QC4: Qual a origem de um registro ECG?
QC5: Como podem ser obtidos os registros ECG adquiridos no escopo de um
tratamento?
QC6: Como um dispositivo de registro de ECG adquire um registro ECG?
QC7: O que uma onda P representa em uma forma de onda ECG?
QC8: O que um complexo QRS representa em uma forma de onda ECG?
QC9: Que tipo de informação um médico usa para identificar variações na
morfologia e no tempo de eventos em uma forma de onda ECG para inferir
uma interpretação?
A seguir são apresentadas as sub-ontologias e indicados os axiomas que
respondem a cada uma das questões de competência. Os termos correspondentes
aos estereótipos do perfil de modelagem usados estão sublinhados no texto.
SUB-ONTOLOGIA DO CORAÇÃO
Esta sub-ontologia, mostrada na figura 3.1, captura a estrutura do coração humano
num alto nível de abstração.
Figura 3.1 - Sub-ontologia do Coração.
Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 8
Um coração humano (HumanHeart), que é parte de um corpo humano
(HumanBody), é composto essencialmente por átrios e ventrículos esquerdo e direito
57
(LeftAtrium, RightAtrium, LeftVentricle e RightVentricle), e estes, por sua vez, são
partes inseparáveis do coração. Átrios e ventrículos, como espécies, são disjuntos
uns dos outros. São também categorizados como músculos (Muscle) e câmaras
(Chamber), assim como o próprio coração. O corpo humano, porém, é categorizado
apenas como câmara.
SUB-ONTOLOGIA DE FENÔMENOS BIOELÉTRICOS
Esta sub-ontologia, mostrada na figura 3.2, descreve os fenômenos bioelétricos que
ocorrem no coração humano.
Figura 3.2 - Sub-ontologia de Fenômenos Bioelétricos. Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 9
“A atividade do coração de bombear é conseqüência natural dos fenômenos
bioelétricos gerados em células especiais do coração chamadas células pacemaker
[(PacemakerCells)]. Essas células do corpo humano existem apenas no coração
(GESELOWITZ, 1989). Os nós SA e AV constituem as principais regiões do músculo
miocárdio onde essas células [(SANodeCells e AVNodeCells)] espontaneamente
58
dão origem a [(givesRiseTo)] impulsos [(SAElectricalImpulse e AVElectricalImpulse)]
gerados por sua estimulação” (GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007).
Em resposta aos impulsos elétricos, ocorrem as contrações dos átrios (LA e
RAContraction) e ventrículos (LV e RVContraction). Essas contrações sãos os
relators que caracterizam a relação material contração (contraction) entre os
impulsos elétricos e o papel dos átrios e ventrículos como bombas
(Left/RigthAtriumAsPump e Left/RigthVentricleAsPump). Os papéis dos ventrículos e
átrios como bomba compõem o papel do coração como bomba (HeartAsPump). O
impulso elétrico SA (SAElectricalImpulse) provoca contrações em ambos os átrios
como bombas. Durante essas contrações o impulso elétrico do nó SA também é
conduzido para o nó AV e se sobrepõe ao impulso deste nó (AVElectricalImpulse).
Surge então o impulso elétrico His-Purkinje (HisPurkinjeElectricalImpulse) como uma
composição dos impulsos AV e SA. Ele tem uma fase (HisElectricalImpulse) no
agrupamento (bundle) de His e outra fase (PurkinjeElectricalImpulse) nas fibras
Purkinje, sendo que, nesta última fase, o impulso provoca as contrações nos
ventrículos como bombas.
A questão de competência QC1 é respondida pelos axiomas A1, A2 e A3. Os
axiomas A1 e A2 formalizam as condições necessárias e suficientes para os
ventrículos direito e esquerdo exercerem o papel de bomba. O axioma A3 define que
um coração exerce o papel de bomba se e somente se seus ventrículos funcionarem
como bomba. Nota-se que o funcionamento dos átrios como bomba não interfere
neste fato.
(A1) ∀x ( LeftVentricleAsAPump(x) ↔ ∃y,z ( PurkinjeElectricalImpulse(y) ∧ LVContraction(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )
(A2) ∀x ( RightVentricleAsAPump(x) ↔ ∃y,z ( PurkinjeElectricalImpulse(y) ∧ RVContraction(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )
(A3) ∀z ( HeartAsPump(z) ↔ ∃x,y ( LeftVentricleAsAPump(x) ∧ ΡightVentricleAsAPump(y) ∧ isPartOf(x,z) ∧ isPartOf(y,z) ) )
SUB-ONTOLOGIA DE FENÔMENO CIRCULATÓRIO
Esta sub-ontologia, mostrada na figura 3.3, descreve o Fenômeno de Circulação do sangue no corpo humano.
59
Figura 3.3 - Sub-ontologia de Fenômeno Circulatório.
Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 10
O coração como bomba (HeartAsPump) é responsável por bombear (pumps) sangue
pelo corpo humano (BloodInHumanBody). Os pulmões (Lungs), periféricos
(Peripherals), átrios e ventrículos exercem o papel de câmaras de sangue
(*AsBloodContainer) que armazenam (storing) “porções de sangue” (BloodIn*).
Essas porções compõem o sangue presente no corpo humano. Entretanto, o sangue
é movido (isMovedTo) constantemente dos ventrículos para os pulmões e
periféricos, destes para os átrios, e ainda destes para os ventrículos. O conceito de
relator armazenador de sangue (*BloodStoring) caracteriza a relação material
armazenagem (storing) entre o papel das câmaras de sangue e as respectivas
“porções de sangue”. Além disso, os pulmões e periféricos (isto é, cabeça, tronco e
membros) compõem o corpo humano, e também os átrios e ventrículos como
câmaras de sangue compõem o papel do coração como câmara de sangue
(HeartAsBloodContainer).
Por se tratar de um fenômeno intrinsecamente dinâmico, “[...] é difícil definir um
critério de identidade para a entidade ‘porção de sangue’ no corpo humano. [Sabe-
se que] [...] uma porção de sangue contida em uma câmara num ponto no tempo
provavelmente mudará todas as suas propriedades (por exemplo, volume, nível de
60
oxigênio) e sua câmara em outro ponto no tempo. Assim, o problema de
homeomerosidade de quantidades tratado em (GUIZZARDI, 2005) é mais
complicado no caso da circulação sangüínea”. Porém, é importante observar que as
ontologias produzidas “[...] têm a intenção de focar no aspecto estrutural do domínio
(ao contrário do aspecto dinâmico). Por esta razão, a representação da circulação
sangüínea [é feita de um modo não trivial] [...] chamado de representação de
porções de sangue (a entidade localizada em cada câmara específica em cada
ponto específico no tempo) como entidades instantâneas que compõem todo o
sangue contido no corpo humano”. (GONÇALVES; GUIZZARDI; PEREIRA FILHO,
2007, p. 10)
A seguir são definidos os axiomas que respondem a questão QC2. As condições
necessárias e suficientes para os ventrículos direito e esquerdo exercerem o papel
de câmara de sangue são formalizadas nos axiomas A4 e A5. O axioma A6 define
que, se um coração bombeia sangue no corpo humano, seus ventrículos devem
exercer o papel de câmaras de sangue. Novamente, o funcionamento dos átrios
como câmaras de sangue não influencia neste fato.
(A4) ∀x ( LeftVentricleAsABloodContainer(x) ↔ ∃!y,z (BloodInLeftVentricle(y) ∧ LVBloodStoring(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )
(A5) ∀x ( RightVentricleAsABloodContainer(x) ↔ ∃!y,z (BloodInRightVentricle(y) ∧ RVBloodStoring(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )
(A6) ∀x,y ( (HeartAsAPump(x) ∧ ΒloodInHumanBody(y) ∧ pumps(x,y)) → ∃z,w (LeftVentricleAsABloodContainer(z)
∧ RightVentricleAsABloodContainer(w) ∧ isPartOf(z,x) ∧ isPartOf(w,x)) )
SUB-ONTOLOGIA DE PROTOCOLO HUMANO DE ECG
Esta sub-ontologia, mostrada na figura 3.4, descreve o protocolo humano que
orienta o desenvolvimento de sessões de registro de ECG.
61
Figura 3.4 - Sub-ontologia de Protocolo Humano.
Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 11
Uma sessão de registro de ECG (ECGRecordingSession) é requerida por
(isRequestedBy) um médico (Physician) que trata (treats) de um paciente (Patient).
Essa é uma relação material entre o médico e o paciente, mediada pelo relator
tratamento (Treatment). Uma sessão sempre está associada a (isAssociatedTo) um
tratamento e é também um evento complexo que tem a participação de um
dispositivo de registro de ECG (ECGRecordingDevice) e do paciente que está em
tratamento. Tanto médico quanto paciente são papéis exercidos por alguma pessoa.
Cada sessão de registro de ECG produz (produces) exatamente um registro ECG
(ECGRecord). Este registro é adquirido pelo (isAcquiredBy) dispositivo usado na
sessão e pertence ao (belongsTo) paciente que foi o sujeito da sessão. Este
paciente tem (has) um registro eletrônico (EPR) em que são agregados os seus
registros ECG.
As questões de competência QC3, QC4 e QC5 são respondidas pelos axiomas A7,
A8 e A9 respectivamente. Esses axiomas enfatizam relações existentes no modelo.
O axioma A7 ressalta que, para toda sessão de registro de ECG, existe um
dispositivo, um paciente, um médico e um tratamento relacionados a ela. O axioma
A8 mostra que para todo registro ECG há uma sessão, um dispositivo e um paciente
associados a ele. Já, o axioma A9 acrescenta a relação “produzido no escopo de”
(producedInScopeOf) entre um registro ECG e um tratamento, que pode ser
derivada das relações entre o tratamento, o registro ECG e a sessão de registro de
ECG.
62
(A7) ∀x (ECGRecordingSession(x) → ∃!rd,pt,ph,tr (ECGRecordingDevice(rd) ∧ Patient(pt) ∧ Physician(ph) ∧ Treatment(tr) ∧ participates(rd,x) ∧ participates(pt,x) ∧ isRequestedBy(x,ph) ∧ ∧ (isAssociatedWith(x,tr) ∧ mediates(tr, ph) ∧ mediates(tr, pt) ) )
(A8) ∀x (ECGRecord(x) → ∃!rs,rd,pt (ECGRecordingSession(rs) ∧ ECGRecordingDevice(rd) ∧ Patient(pt) ∧ produces(rs,x) ∧ isAcquiredBy(x,rd) ∧ belongsTo(x,pt) ) )
(A9) ∀x,y ( (Treatment(x) ∧ ECGRecord(y)) → ( producedInScopeOf(y,x) ↔ ( ∃z ECGRecordingSession(z) ∧ isAssociatedWith(z,x) ∧ produces(z,y) ) ) )
SUB-ONTOLOGIA DE ELETROCARDIOGRAFIA
Esta sub-ontologia, mostrada na figura 3.5, convenciona os conceitos e relações da própria Eletrocardiografia (KADISH et al., 2001 apud GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007).
Figura 3.5 - Sub-ontologia de Eletrocardiografia.
Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 12
O objetivo de uma sessão de registro de ECG (ECGRecordingSession) é produzir
um registro de ECG (ECGRecord) que dê evidências diretas e indiretas de certas
63
características e do funcionamento do coração. Para isso, um dispositivo de ECG
(ECGRecordingDevice) realiza (performs) observações (Observation) medindo a
diferença de potencial elétrico na superfície do corpo humano (HumanBody),
conforme o posicionamento (placement) de eletrodos (Electrode) no corpo. A relação
material entre os eletrodos e o corpo humano é intermediada pelo relator lead
(ECGLead). Um lead é uma combinação específica de eletrodos que provê um ponto
de vista da atividade do coração. Por exemplo, a figura 3.6 mostra várias
combinações (leads) de eletrodos posicionados nos membros. Várias observações
são desenvolvidas em (isDevelopedIn) um mesmo lead, e compõem uma série de
observações (ObservationSeries). As séries de observações feitas em diferentes
leads compõem uma série de observações correlacionadas
(CorrelatedObservationSeries), à qual o registro de ECG produzido na sessão está
associado (isAssociatedWith).
Figura 3.6 - Combinações (Leads) de eletrodos posicionados nos membros.
Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 7
Cada observação dá origem a (givesRiseTo) uma amostra (Sample), que é tomada
em um valor de freqüência (SampleRate) e registra o valor de potencial elétrico
medido em uma observação. Uma série de observações constitui uma forma de
onda (WaveForm) que é composta por tais exemplos. As formas de onda, por sua
vez, são compostas por ciclos (Cycle). Finalmente, um ciclo, que representa uma
batida do coração, é composto por formas elementares (ElementaryForm) que
mapeiam os impulsos elétricos. Em particular, as formas chamadas onda P (Pwave)
64
e complexo QRS (QRScomplex) mapeiam respectivamente os impulsos elétricos
SA, responsável pela contração dos átrios, e HisPurkinje, responsável pela
contração dos ventrículos. A figura 3.7 mostra a forma de onda em um ciclo normal
de ECG.
Figura 3.7 - A forma de onda em um ciclo normal de ECG.
Fonte: Gonçalves; Guizzardi; Pereira Filho, 2007, p. 7
Uma forma elementar tem como propriedades os tipos de dados (datatype)
estruturados Anotação (Annotation) e Medida (Measurement). Essas propriedades
estão relacionadas à morfologia e ao tempo dos eventos na forma de onda, que
provêem significado para os médicos, e por isso são consideradas as principais
características de um ECG.
Existem ainda vários tipos de dados relacionados aos conceitos do modelo.
“Seguindo as orientações metodológicas (GUIZZARDI, 2005), estas propriedades
são representadas usando explicitamente um espaço conceitual em que eles são
medidos, isto é, em que eles podem obter seus valores. Estes espaços conceituais
podem ser unidimensionais, por exemplo, taxas de amostragem (SampleRate) e
freqüência cardíaca (CardiacFrequency), ou multidimensionais, por exemplo, data e
tempo, e são representados no modelo como tipos de dados simples e estruturados
respectivamente” (GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007, p. 12) .
As questões de competência QC6, QC7, QC8 e QC9 são respondidas pelos
axiomas A10, A11, A12 e A13 respectivamente. Também esses axiomas enfatizam
relações existentes no modelo. O axioma A10 ressalta que para toda observação
existe um dispositivo, ao menos um eletrodo, um lead, um corpo humano e um
65
exemplo relacionados a ela. Os axioma A11 e A12 mostram que a onda P e o
complexo QRS mapeiam os impulsos elétricos SA e HisPurkinje respectivamente.
Já, o axioma A13 mostra que as formas elementares têm uma medida e uma
anotação, que são as informações principais utilizadas pelos médicos.
(A10) ∀x ( Observation(x) → ∃et, ∃!rd,ld,hb,sp,tm ( ECGRecordingDevice(rd) ∧ performs(rd,x) ∧ Electrode(et) ∧ isPartOf(et,rd) ∧ ECGLead(ld) ∧ mediates(ld,et) ∧ HumanBody(hb) ∧ mediates(ld,hb) ∧ participates(et,x) ∧ participates(hb,x) ∧ Sample(sp) ∧ givesRiseTo(x,sp) ∧ time(tm) ∧ isProprietyOf(tm,x) ) )
(A11) ∀x ( Pwave(x) → ∃!y ( SAElectricalImpulse(y) ∧ maps(x,y) ) ) (A12) ∀x ( QRScomplex(x) → ∃!y ( HisPurkinjeElectricalImpulse(y) ∧ maps(x,y) ) ) (A13) ∀x ( ElementaryForm(x) → ∃!y,z ( Measurement(y) ∧ Annotation(z) ∧ isPropertyOf(y,x)
∧ isPropertyOf(z,x) ) )
No próximo capítulo são mostrados alguns aspectos da implementação dessas sub-
ontologias, resultando na implementação da ontologia de ECG apresentada neste
capítulo.
66
4. Implementação
Este capítulo trata da implementação da ontologia de Eletrocardiograma discutida no
Capítulo 3, realizada na linguagem OWL + SWRL, e cujo código está disponibilizado
no Anexo A. Primeiramente, na Seção 4.1, são relacionadas as ferramentas
utilizadas para implementar a ontologia e obter os resultados. Estes, por sua vez,
são mostrados na Seção 4.2, e consistem em responder as questões de
competência apresentadas na Seção 3.2, buscando mostrar a validade da
implementação realizada. Na Seção 4.3 é realizada uma análise da implementação,
em que são identificados pontos críticos, mostrando-se algumas possíveis soluções
ou apontando-se a necessidade de uma maior expressividade da linguagem
utilizada.
4.1. Aspectos Técnicos
Foi utilizada a ferramenta Protégé6 3.3 para implementar a Ontologia de ECG
(discutida no Capítulo 3) na linguagem OWL DL + SWRL. O Protégé é uma
ferramenta gratuita e open-source que permite abrir e salvar arquivos no formato
OWL e RDF; editar e visualizar classes, propriedades e regras SWRL; definir
características lógicas das classes como expressões OWL; e editar indivíduos OWL.
Além disso, tem uma arquitetura flexível que permite fácil integração com outras
ferramentas, como máquinas de inferência.
Foram utilizadas, através do Protégé, as máquinas de inferência Racer Pro7 para
realizar a verificação da consistência da ontologia, a inferência de subsunção de
classes e a classificação de indivíduos; e Jess8 para realizar as inferências das
regras SWRL9. A verificação da consistência da ontologia é feita para saber se
existe alguma contradição nas condições lógicas declaradas para as classes. A
inferência de subsunção é feita para saber se, dadas essas as condições, uma
classe está contida em outra. E a classificação de indivíduos é feita para descobrir a 6 Disponível em http://protege.stanford.edu 7 Disponível em http://www.racer-systems.com 8 Disponível em http://www.jessrules.com 9 Para utilizar o Racer Pro e o Jess foi necessário solicitar as respectivas licenças de uso acadêmico.
67
qual(is) classe(s) pertence um dado indivíduo, dadas essas mesmas condições e as
informações conhecidas sobre ele.
A aba de Regras SWRL do Protégé funciona como editor de regras. Utilizando o
plugin do Jess, pode-se também realizar inferências sobre classificação de
indivíduos e propriedades entre eles, conforme as regras criadas. Ainda podem ser
criadas regras na forma de consulta à base de instâncias. Este recurso foi utilizado
para representar os axiomas que não acrescentam informação à ontologia, mas
reúnem as informações existentes no modelo, pertinentes à respectiva questão de
competência.
A implementação da ontologia foi dividida em sub-ontologias seguindo o modelo
conceitual original (Heart.owl, BioelectricPhen.owl, CirculatoryPhen.owl,
HumanProtocol.owl e ECG.owl). Também foi criada uma ontologia base
(baseECG.owl), por questão de organização, para compartilhar alguns conceitos
comuns. Conforme a necessidade, uma sub-ontologia importa a outra. Além disso,
foi criado um arquivo separado (TestECG.owl) para acrescentar as regras SWRL,
instanciar as classes e realizar as inferências para verificar as respostas das
questões de competência. Optou-se por acrescentar as regras SWRL
separadamente, pois a extensão da linguagem para usar SWRL faz com que a
implementação se torne OWL Full, e pode trazer problemas, por exemplo, na
verificação de consistência da ontologia.
4.2. Resultados
Nesta seção mostra-se como a implementação pode responder as questões de
competência apresentadas na seção 3.2. Para ilustrar as questões foram criadas no
Protégé algumas instâncias para os conceitos da ontologia de ECG.
CQ1: Quais condições devem ser satisfeitas para o coração exercer o papel de
bomba de sangue?
Respondem esta questão os axiomas A1, A2 e A3, que foram implementados
em OWL. Para melhor exemplificar o resultado, também foi feita uma pequena
68
modificação na ontologia, permitindo que a relação de mediação (mediation)
entre os papéis (role) dos ventrículos como bomba e as respectivas
contrações fosse estendida para a espécie (kind) ventrículo. Dessa forma, é
possível que a máquina de inferência conclua se um determinado ventrículo,
diante das circunstâncias descritas nos axiomas, funciona como bomba. E
assim, conforme o axioma A3, se um coração possui ambos ventrículos
funcionando como bomba, pode-se inferir que ele também funciona como
bomba.
Os axiomas foram representados no Protégé como condições necessárias e
suficientes (para as classes mostradas em itálico) descritas como segue:
Axiomas originais:
(A1) ∀x ( LeftVentricleAsAPump(x) ↔ ∃y,z ( PurkinjeElectricalImpulse(y) ∧ LVContraction(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )
(A2) ∀x ( RightVentricleAsAPump(x) ↔ ∃y,z ( PurkinjeElectricalImpulse(y) ∧ RVContraction(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )
(A3) ∀z ( HeartAsPump(z) ↔ ∃x,y ( LeftVentricleAsAPump(x) ∧ RightVentricleAsAPump(y) ∧ isPartOf(x,z) ∧ isPartOf(y,z) ) )
Axiomas implementados: (A1) LeftVentricleAsPump: isMediatedBy some (LVContraction
and (mediates some PurkinjeElectricalImpulse) )
(A2) RightVentricleAsPump: isMediatedBy some (RVContraction
and (mediates some PurkinjeElectricalImpulse) )
(A3) HeartAsPump: hasPart some LeftVentricleAsPump
hasPart some RightVentricleAsPump
A figura 4.1 mostra a aba de Indivíduos (Individuals) do Protégé, em que a
instância HumanHeart1, que havia sido criada como Coração Humano
(HumanHeart), foi inferida como um coração humano que funciona como
bomba (HeartAsPump). Vale ressaltar que os números entre parênteses à
frente das classes, na forma (a) ou (a / b), representam quantas instâncias
foram criadas manualmente (a) e quantas foram inferidas pela máquina de
inferência (b). Assim, pode-se observar que também as instâncias que haviam
sido criadas como ventrículos direito e esquerdo (RightVentricle e
69
LeftVentricle) foram inferidas como ventrículos que exercem o papel de
bomba (RightVentricleAsPump e LeftVentricleAsPump).
Figura 4.1 - Resposta da questão de competência CQ1.
CQ2: Quais condições devem ser satisfeitas para o coração estar apto a bombear
sangue para a circulação sistêmica e pulmonar?
Os axiomas A4, A5 e A6, relativos a esta questão, foram implementados
como regras SWRL, pois neste caso é necessário inferir a existência de uma
relação e, como visto na seção 2.3.3, não é possível de se implementar
usando apenas OWL. Conforme A4 e A5 foram criadas duas regras que
permitem à máquina de inferência concluir se um determinado ventrículo
(direito ou esquerdo) funciona como câmara de sangue. Outra regra (A6’)
define a relação material “armazena” (stores) entre um dos ventrículos e o
sangue contido nele, para complementar a regra do axioma A6. Ela foi
acrescida para vincular a entidade “sangue no corpo humano” com o coração,
mais especificamente, com o sangue contido num dos seus ventrículos. A
regra relativa ao axioma (A6), então, usa as anteriores para inferir se um
coração tem a relação de bombear com o sangue no corpo humano.
70
Os axiomas foram representados da seguinte forma:
Axiomas originais:
(A4) ∀x ( LeftVentricleAsABloodContainer(x) ↔ ∃!y,z (BloodInLeftVentricle(y) ∧ LVBloodStoring(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )
(A5) ∀x ( RightVentricleAsABloodContainer(x) ↔ ∃!y,z (BloodInRightVentricle(y) ∧ RVBloodStoring(z) ∧ mediates(z,x) ∧ mediates(z,y) ) )
(A6) ∀x,y ( (HeartAsAPump(x) ∧ ΒloodInHumanBody(y) ∧ pumps(x,y)) → ∃z,w (LeftVentricleAsABloodContainer(z)
∧ RightVentricleAsABloodContainer(w) ∧ isPartOf(z,x) ∧ isPartOf(w,x)) )
Axiomas implementados: (A4) LeftVentricle(?lv) ∧ BloodInLeftVentricle(?blv) ∧ LVBloodStoring(?lvbs)
∧ mediates(?lvbs, ?lv) ∧ mediates(?lvbs, ?blv)
→ LeftVentricleAsBloodContainer(?lv)
(A5) RightVentricle(?rv) ∧ BloodInRightVentricle(?brv) ∧ RVBloodStoring(?rvbs)
∧ mediates(?rvbs, ?rv) ∧ mediates(?rvbs, ?brv)
→ RightVentricleAsBloodContainer(?rv)
(A6’) LeftVentricleAsBloodContainer(?lvbc) ∧ BloodInLeftVentricle(?blv) ∧
∧ LVBloodStoring(?lvbs) ∧ mediates(?lvbs, ?lvbc) ∧ mediates(?lvbs, ?blv)
→ stores_LVBC_BloodInLV(?lvbc, ?blv)
(A6) HeartAsPump(?hp) ∧ BloodInHumanBody(?bhb)
∧ LeftVentricleAsBloodContainer(?lvbc)
∧ RightVentricleAsBloodContainer(?rvbc) ∧ BloodInLeftVentricle(?blv)
∧ stores_LVBC_BloodInLV(?lvbc, ?blv) ∧ isDirectPartOf(?blv, ?bhb)
∧ hasDirectPart(?hp, ?lvbc) ∧ hasDirectPart(?hp, ?rvbc)
→ base:pumps(?hp, ?bhb)
71
Figura 4.2 - Resposta da questão de competência CQ2.
A figura 4.2 mostra a aba de Regras SWRL do Protégé com o plugin do Jess.
Pode-se observar que as instâncias dos ventrículos direito e esquerdo
(RightVentricle1 e LeftVentricle1) foram inferidas como sendo ventrículos que
exercem o papel de câmara de sangue (Left/RightVentricleAsBloodContainer).
Também foi inferida a existência a relação bombear (pumps) de um coração
(HumanHeart1) com o sangue no corpo humano (BloodInHumanBody1).
CQ3: O que está por trás de uma seção de registro ECG?
O axioma A7, relativo a esta questão, foi implementado como consulta SWRL
com seguinte representação:
Axioma original:
(A7) ∀x (ECGRecordingSession(x) → ∃!rd,pt,ph,tr (ECGRecordingDevice(rd) ∧ Patient(pt) ∧ Physician(ph) ∧ Treatment(tr) ∧ participates(rd,x) ∧ participates(pt,x) ∧ isRequestedBy(x,ph) ∧ (isAssociatedWith(x,tr) ∧ mediates(tr, ph) ∧ mediates(tr, pt) ) )
72
Axioma implementado: (A7) Physician(?ph) ∧ Patient(?pt) ∧ ECGRecordingDevice(?rd)
∧ ECGRecordSession(?rs) ∧ Treatment(?t) ∧ isRequestedBy(?rs, ?ph)
∧ hasParticipationOf(?rs, ?pt) ∧ hasParticipationOf(?rs, ?rd)
∧ isAssociatedWith(?rs, ?t) ∧ mediates(?t, ?pt) ∧ mediates(?t, ?ph)
→ query:select(?rs, ?ph, ?pt, ?t, ?rd)
Essa consulta, exemplificada na figura 4.3, mostra qual médico (Physician_P),
paciente (Patient_A), tratamento (Treatment_AP) e dispositivo
(ECGRecordingDevice_1) estão relacionados a uma determinada seção de
registro de ECG (ECGRecordingSession A1 e A2).
Figura 4.3 - Resposta da questão de competência CQ3.
CQ4: O que é a origem de um registro ECG?
Para responder esta questão foi implementado como consulta SWRL o
axioma A8. Para complementá-lo, foi usada também uma regra SWRL que
define a relação belongsTo. Ambos foram representados como segue:
Axioma original:
(A8) ∀x (ECGRecord(x) → ∃!rs,rd,pt (ECGRecordingSession(rs) ∧ ECGRecordingDevice(rd) ∧ Patient(pt) ∧ produces(rs,x) ∧ isAcquiredBy(x,rd) ∧ belongsTo(x,pt) ) )
73
Axioma implementado: (A8’) ECGRecord(?r) ∧ Patient(?pt) ∧ ECGRecordSession(?rs)
∧ hasParticipationOf(?rs, ?pt) ∧ produces(?rs, ?r) → belongsTo(?r, ?pt)
(A8) ECGRecord(?r) ∧∧ ECGRecordSession(?rs) ∧ ECGRecordingDevice(?rd)
∧ produces(?rs, ?r) ∧ isAcquiredBy(?r, ?rd) ∧ Patient(?pt) ∧ belongsTo(?r, ?pt)
→ query:select(?r, ?pt, ?rs, ?rd)
A figura 4.4 ilustrada essa consulta que informa qual paciente (Patient_A),
seção (ECGRecordSessionA1 e A2) e dispositivo (ECGRecordingDevice_1)
estão relacionados a um dado registro de ECG (ECGRecordA1 e A2).
Figura 4.4 - Resposta da questão de competência CQ4.
CQ5: Como podem ser obtidos os registros ECG adquiridos no escopo de um
tratamento?
O axioma A9, que responde esta questão, introduz a relação “ser produzida
no escopo de” (isProducedInScopeOf) para a qual foi criada uma regra SWRL.
Esta regra e a consulta SWRL relativa ao axioma 9 foram implementadas
como:
Axioma original:
(A9) ∀x,y ( (Treatment(x) ∧ ECGRecord(y)) → ( producedInScopeOf(y,x) ↔ ( ∃z ECGRecordingSession(z) ∧ isAssociatedWith(z,x) ∧ produces(z,y) ) ) )
74
Axioma implementado: (A9’) Treatment(?t) ∧ ECGRecord(?r) ∧ ECGRecordSession(?rs)
∧ isAssociatedWith(?rs, ?t) ∧ produces(?rs, ?r) → isProducedInScopeOf(?r, ?t)
(A9) Treatment(?t) ∧ ECGRecord(?r) ∧ isProducedInScopeOf(?r, ?t)
→ query:select(?t, ?r)
Um resultado exemplificando essa consulta é mostrado na figura 4.5, que
mostra os registros ECG (ECGRecordA1 e A2) que foram produzidos no
escopo de um determinado tratamento (TreatmentAP).
Figura 4.5 - Resposta da questão de competência CQ5.
CQ6: Como um dispositivo de registro de ECG adquire um registro ECG?
Esta questão é respondida pelo axioma A10, que foi implementado como
consulta SWRL da seguinte forma:
Axioma original:
(A10) ∀x ( Observation(x) → ∃et, ∃!rd,ld,hb,sp,tm ( ECGRecordingDevice(rd) ∧ performs(rd,x) ∧ Electrode(et) ∧ isPartOf(et,rd) ∧ ECGLead(ld) ∧ mediates(ld,et) ∧ HumanBody(hb) ∧ mediates(ld,hb) ∧ participates(et,x) ∧ participates(hb,x) ∧ Sample(sp) ∧ givesRiseTo(x,sp) ∧ time(tm) ∧ isProprietyOf(tm,x) ) )
75
Axioma implementado: (A10) ECGRecordingDevice(?rd) ∧ Observation(?obs) ∧ HumanBody(?hb)
∧ Electrode(?el) ∧ ECGLead(?ld) ∧ Sample(?smp) ∧ performs(?rd, ?obs)
∧ isDirectPartOf(?el, ?rd) ∧ mediates(?ld, ?el) ∧ mediates(?ld, ?hb)
∧ hasParticipationOf(?obs, ?el) ∧ hasParticipationOf(?obs, ?hb)
∧ givesRiseTo(?obs, ?smp)
→ query:select(?rd, ?obs, ?hb, ?el, ?ld,?smp)
A figura 4.5, ilustra essa consulta, que informa as observações
(ObservationA122 e A211) que foram realizadas num dado dispositivo
(ECGRecordingDevice1), os eletrodos (Electrode1) que foram posicionados
no corpo (HumanBodyA) de um paciente de acordo com um lead
(ECGLead1), e os exemplos (SampleA122 e A211) que foram gerados pelas
observações e que, por fim, constituem um registro de ECG.
Figura 4.6 - Resposta da questão de competência CQ6.
CQ7: O que uma onda P representa em uma forma de onda ECG?
Para responder esta questão foi implementado o axioma A11 como consulta
SWRL, representado como segue:
Axioma original:
(A11) ∀x ( Pwave(x) → ∃!y ( SAElectricalImpulse(y) ∧ maps(x,y) ) )
76
Axioma implementado: (A11) Pwave(?pw) ∧ ElectricalImpulse(?x) ∧ maps(?pw, ?x) → query:select(?pw, ?x)
Essa consulta é exemplificada na figura 4.7 e mostra qual impulso elétrico
(SAEletricalImpulseA11, A12, A21, A22) é representado por uma onda P
(PwaveA11, A12, A21, A22).
Figura 4.7 - Resposta da questão de competência CQ7.
CQ8: O que o complexo QRS representa em uma forma de onda ECG?
Esta questão é respondida pelo axioma A12, que foi implementado como
consulta SWRL da seguinte forma:
Axioma original:
(A12) ∀x ( QRScomplex(x) → ∃!y ( HisPurkinjeElectricalImpulse(y) ∧ maps(x,y) ) ) Axioma implementado:
(A12) QRScomplex(?qrs) ∧ ElectricalImpulse(?ei) ∧ maps(?qrs, ?ei) → query:select(?qrs, ?ei)
A figura 4.8 ilustra essa consulta que informa qual impulso elétrico
(HisPurkinjeEletricalImpulseA11, A12, A21, A22) é representado por um
complexo QRS (QRScomplexA11, A12, A21, A22).
77
Figura 4.8 - Resposta da questão de competência CQ8.
CQ9: Que tipo de informação um médico usa para identificar variações na
morfologia e tempo de eventos em uma forma de onda ECG para inferir uma
interpretação?
O axioma A13, que responde esta questão, foi implementado como consulta
SWRL da seguinte forma:
Axioma original:
(A13) ∀x ( ElementaryForm(x) → ∃!y,z ( Measurement(y) ∧ Annotation(z) ∧ isPropertyOf(y,x) ∧ isPropertyOf(z,x) ) )
Axioma implementado: (A13) ECGRecord(?er) ∧ CorrelatedObservationSeries(?cos) ∧ WaveForm(?wf)
∧ Cycle(?c) ∧ ElementaryForm(?em) ∧ Measurement(?m) ∧ Annotation(?a)
∧ isAssociatedWith(?er, ?cos) ∧ constitutes(?cos, ?wf)
∧ isDirectPartOf(?c, ?wf) ∧ isDirectPartOf(?ef, ?c) ∧ isPropertyOf(?m, ?em)
∧ isPropertyOf(?a, ?em) ∧ hasDuration-Time(?m, ?duration)
∧ hasAmplitude-mV(?m, ?amplitude) ∧ hasOnSet-Time(?a, ?onset)
∧ hasOffSet-Time(?a, ?offset) ∧ hasPeak-Time(?a, ?peak)
→ query:select(?er, ?ef, ?duration, ?amplitude, ?onset, ?offset, ?peak)
∧ query:orderBy(?er, ?ef)
78
O resultado dessa consulta é exemplificado na figura 4.9, e mostra quais os
valores de duração (duration), amplitude (amplitude), onset, offset, e pico
(peak) das formas elementares (Pwave, QRScomplex, Twave e Uwave A1 e
A2) relacionadas a um registro ECG (ECGRecordA1).
Figura 4.9 - Resposta da questão de competência CQ9.
4.3. Análise
Nesta seção é feita uma análise de alguns aspectos da implementação realizada e
dos pontos críticos observados diante da limitação de expressividade da linguagem
OWL DL + SWRL. Em alguns casos, foi possível propor soluções, em outros,
apontou-se a necessidade de maior expressividade.
Primeiramente, buscou-se classificar e restringir os conceitos implementados
conforme seus os estereótipos. Para isso, pensou-se inicialmente em implementar a
UFO com suas classificações e restrições para que fossem usadas na
implementação da ontologia de domínio. Porém verificou-se que não é possível usar
a ontologia fundacional e a de domínio no mesmo nível. Para exemplificar a
inviabilidade dessa idéia, seja A uma espécie (kind) e sua fase (phase) A’. Na
implementação, A é declarada como uma classe, e A’ sua subclasse que herda
79
todas as restrições impostas sobre A. Supondo agora que exista uma
implementação da UFO que possua as classes Kind e Phase com suas respectivas
restrições. Para que A herde as restrições de Kind, é necessário que A seja
declarado como subclasse de Kind. Porém, como A’ é subclasse de A, também será
classificada como espécie (Kind) e herdará as suas restrições, quando na verdade
se trata de uma fase (Phase). Conclui-se então que seria necessário algum outro
mecanismo, como a lógica de 2ª ordem, para predicar sobre predicados, e assim
poder utilizar conceitos e restrições da ontologia fundacional sobre as classes da
ontologia leve de domínio. Ou ainda, pode-se utilizar uma linguagem de
representação em que as distinções ontológicas e suas características são definidas
como parte da linguagem.
Vale ainda destacar a necessidade da expressividade da lógica modal para distinguir
certos estereótipos, como espécie e fase (kind e phase). Uma espécie é um tipo de
entidade que um indivíduo instancia necessariamente (em todos os mundos
possíveis) e uma fase é um tipo de entidade que um indivíduo instancia em algum
período (possivelmente), mas não necessariamente em todos. Essas características
de necessidade e possibilidade são tipicamente representadas pela lógica modal.
Como a DL é subconjunto da lógica de primeira ordem, não é possível com OWL DL
classificar e restringir os conceitos conforme seus os estereótipos (pois seria
necessária a lógica de 2ª ordem) nem tampouco representar suas características
modais (pois seria necessária a lógica modal). Vale destacar, porém, que há uma
linguagem chamada DL modal que pretende aumentar a expressividade da DL com
a lógica modal, mas que ainda está sendo estudada para manter a decibilidade e
tratabilidade (RIFAIEH, 2004). Dessa forma, não foi possível distinguir na
implementação os estereótipos como espécie (kind), papel (role) e fase (phase).
Sendo assim, todos os estereótipos que especializam Classe (Class) no metamodelo
da OntoUML foram representados simplesmente como classes, ou seja, como
conceito em OWL.
Observou-se também que não é possível impor restrições sobre as relações usando
apenas OWL, pois a linguagem permite impô-las apenas sobre as classes que são
imagem ou domínio da relação. Por exemplo, as relações de dependência devem ter
cardinalidade mínima (lower bound) igual a um para origem (source) e destino
80
(target) (ver Figura 2.16). Neste caso, seria interessante poder criar uma propriedade
(property) RelaçaoDeDependencia com a cardinalidade restringida e ter eventuais
relações de dependência como sub-propriedades (sub-properties) desta. Como isso
não é possível, não se pode estabelecer o padrão de que toda relação de
dependência deve ter a cardinalidade mínima igual a um. Então, é necessário
restringir a cardinalidade para cada classe que seja origem ou destino de uma
relação de dependência. Sendo assim, os estereótipos que especializam Relação
(Relationship) foram representados como relações simplesmente, ou seja, como
papel (role) em OWL.
Por causa da necessidade de se restringir a cardinalidade das relações, em geral,
não é possível criar uma única relação e usá-la para relacionar várias classes. Por
exemplo, se for usada a mesma relação “tem parte” (hasPart) para relacionar a
classe coração humano com as classes ventrículo direito e esquerdo, ao se criar a
restrição de cardinalidade, tem-se o seguinte problema: se a cardinalidade for
restringida para um, então um coração só poderá ter um ventrículo, direito ou
esquerdo; e se for restringido para dois, então será possível que um coração tenha
dois ventrículos diretos ou dois esquerdos10. Torna-se então necessário criar uma
relação para cada par de classes, neste caso, uma do coração com o ventrículo
direito (hasPart_HH_RV) e outra com o esquerdo (hasPart_HH_LV). Dessa forma, é
possível restringir as relações de forma que o coração tenha um e somente um
ventrículo direito e um e somente um esquerdo. A figura 4.10 ilustra essas e outras
restrições da classe coração humano (HumanHeart) no Protégé. Apesar de esse
problema não ocorrer para todas as relações, convencionou-se criá-las dessa forma
para ser mantido um padrão e também para se poder restringir o domínio e a
imagem de cada uma delas.
10 Neste caso em particular, poderia ser usado o artifício de se restringir a cardinalidade máxima para 4, considerando os átrios e ventrículos direito e esquerdo, e usar o quantificador existencial para dizer que o coração deve ter como partes um de cada. Porém, se fossem, por exemplo, 2 de cada, esse método já na não funcionaria, pois deveria ser usada a restrição de cardinalidade mínima que não permite especificar a imagem.
81
Figura 4.10 - Restrições da classe HumanHeart.
Por questão de organização, essas relações específicas são agrupadas em uma
relação genérica. Por exemplo, as relações isPartOf_HH_HB e isPartOf_HB_LV são
representadas como sub-propriedades da propriedade isDirectPartOf11. Observou-
se, porém, que a relação genérica deveria ser usada como um tipo de relação
abstrata, para que não fosse possível instanciá-la diretamente. Isso porque, como
essas relações são genéricas, não há domínio, imagem ou restrições definidas para
elas, e assim torna-se possível instanciar, por exemplo, que uma coisa qualquer é
parte de outra coisa qualquer. Destaca-se, portanto, neste caso, a relevância de se
ter um tipo de relação abstrata.
Também foi necessário representar o inverso da relação para se impor restrições
quanto à imagem. Por exemplo, a relação “é parte de” (isPartOf), inversa de “tem
parte”, é necessária para declarar que também um ventrículo (direito ou esquerdo) é
parte de um e apenas um coração humano. A figura 4.11 mostra essa restrição para
o ventrículo esquerdo (LeftVentricle) no Protégé. Porém, em (RECTOR, A.; WELTY,
2005) aconselha-se a não criar o inverso das relações desnecessariamente, pois isso
provoca um crescimento da complexidade.
11 O termo Diretc foi acrescentado em isDirectPartOf apenas para enfatizar que não se trata de relações de parte transitivas.
82
Figura 4.11 - Restrição da classe LeftVentricle.
Outra particularidade relativa à restrição de cardinalidade em OWL DL, é que não é
possível declarar a relação como transitiva se for necessário restringir sua
cardinalidade (BECHHOFER et al., 2004). Uma relação transitiva pode ser derivada
sem ter sido declarada explicitamente. Por exemplo, se a relação “é parte de” é tida
como transitiva e sabe-se que “x é parte de y” e “y é parte de w”, pode-se derivar
que “x é parte de w”. Assim, se a cardinalidade dessa relação fosse um, a derivação
traria um problema pois x não é mais parte apenas de y, mas de y e w. Como a
restrição de cardinalidade é bastante importante no modelo, optou-se por não
representar a transitividade, mas a cardinalidade.
A representação das características de classe disjunta (disjoint) e completa
(complete) no Protégé é bem simples. Para representar classes disjuntas, há para
cada classe uma relação das classes disjuntas a ela. Na figura 4.12 está
representado que a classe de células não-pacemaker (NonPacemakerCells) é
disjunta da classe de células pacemaker (PacemakerCells). Isso implica também o
inverso. Para representar uma classe (completa) que é completamente abrangida
por algumas subclasses, declara-se como condição necessária e suficiente que todo
indivíduo desssa classe pertença a uma das subclasses. A figura 4.13 mostra que as
células do coração são Pacemaker ou não-Pacemaker.
83
Figura 4.12 - Classes disjuntas (disjoints) à classe NonPacemakerCells.
Figura 4.13 - Restrição da classe completa HeartCells.
Ainda quanto à restrição de cardinalidade, foram utilizadas as seguintes formas de
representação:
− Quantificação existencial: para representar cardinalidade mínima 1. Por
exemplo, a figura 4.11 mostra uma quantificação existencial para a relação “é
parte de” isPartOf entre o ventrículo esquerdo (LeftVentricle) e o coração
humano (HumanHeart). Essa restrição exige que cada ventrículo esquerdo
seja parte de pelo menos um coração.
− Relação Funcional: para representar cardinalidade máxima 1. Por exemplo, a
relação do exemplo anterior é definida como funcional. Essa restrição exige
que cada ventrículo esquerdo seja parte de no máximo um coração
− Restrição de cardinalidade: para outros tipos de cardinalidade máxima e
mínima. Por exemplo, a relação “tem parte” (hasPart) entre a entidade série
de observações correlacionadas (CorrelatedObservationSeries) e a entidade
84
série de observações (ObservationSeries) tem a restrição de cardinalidade
implementada como condições necessárias como segue:
CorrelatedObservationSeries:
hasPart_CorObsSeries_ObsSeries min 2
hasPart_CorObsSeries_ObsSeries max 12
Por fim, a relação material é particularmente difícil de representar considerando-se
as limitações da linguagem. Ela precisa ser representada em partes, que incluem
restrições OWL e regras SWRL. As restrições representadas em OWL DL são
impostas sobre as classes que são o domínio e a imagem da relação material e
sobre a classe que representa o relator. Por exemplo, as partes que representam a
relação material de contração entre o ventrículo esquerdo e o impulso elétrico
Purkinje são implementadas no Protégé como condições necessárias e suficientes
(para as classes mostradas em itálico) como segue:
(i) LeftVentricleAsPump:
isMediatedBy some (LVContraction
and (mediates some PurkinjeElectricalImpulse) )
isContractedBy some PurkinjeElectricalImpulse
(ii) PurkinjeElectricalImpulse:
isMediatedBy some (LVContraction
and (mediates some LeftVentricleAsPump) )
contracts some LeftVentricleAsPump
(iii) LVContraction:
mediates some LeftVentricleAsPump
mediates some PurkinjeElectricalImpulse
A regra SWRL é necessária para impor a condição necessária sobre a relação
material. Porém, como é possível apenas o uso do quantificador universal, a regra
criada é menos intuitiva e expressiva do que a condição necessária, em que para
toda contração do ventrículo esquerdo deve existir o ventrículo (como bomba) e o
impulso elétrico mediados por um relator contração. Neste caso, apenas pode-se
declarar que para todo ventrículo esquerdo e impulso mediados por um relator
chamado contração, tem-se a relação de contração entre o ventrículo e o impulso
em questão, como segue:
85
(iv) LeftVentricleAsPump(?lv) ∧ PurkinjeElectricalImpulse(?pei) ∧ LVContraction(?lvc) ∧ mediates(?lvc, ?lv) ∧ mediates(?lvc, ?pei) → contraction(?lv, ?pei)
Seria interessante tentar provar se a conjunção dessas partes equivale à semântica
pretendida da relação. Tal prova não é realizada neste trabalho, porém, vale
ressaltar que, intuitivamente, pode-se perceber que a semântica pretendida da
relação material é, pelo menos, aproximada.
Voltando ao exemplo anterior, seja um ventrículo esquerdo LV1 qualquer, pode-se
concluir pela condição (i), que ele é mediado por um relator contração LVC1, que por
sua vez media um impulso elétrico Purkinje PEI1. Pela regra (iv), pode-se concluir
que então que há uma relação material contração entre LV1 e PEI1 (lembrando que
a relação isMediatedBy é inversa da relação mediates). Analogamente, seja um
impulso elétrico Purkinje PEI2 qualquer, que pela a condição (ii) é mediado por um
relator contração LVC2 que media um ventrículo esquerdo LV2, pode-se concluir
que há uma relação material contração entre PEI2 e LV2. Além disso, seja um
relator contração LVC3 qualquer, pela condição (iii), conclui-se que ele media um
ventrículo esquerdo LV3 e um impulso elétrico Purkinje PEI3. Novamente, pela regra
(iv), pode-se concluir que há a relação material contração entre LV3 e PEI3.
Considera-se a semântica pretendida da relação material conforme os axiomas
abaixo:
(a) ∀ lvc ( LVContraction(lvc) → ∃ lv, pei ( LeftVentricleAsPump(lv) ∧PurkinjeElectricalImpulse(pei)
∧ contraction(lv, pei) ∧ mediates(lvc, lv) ∧ mediates(lvc, pei) ) )
(b) ∀ lv,pei ( (LeftVentricleAsPump(lv) ∧PurkinjeElectricalImpulse(pei) ∧ contraction(lv, pei) )
→ ∃ lvc ( LVContraction(lvc) ∧ mediates(lvc, lv) ∧ mediates(lvc, pei) ) )
Por (iii) e (iv) pode-se concluir que, para um relator contração qualquer, existe um
ventrículo esquerdo e um impulso elétrico Purkinje, que são mediados por ele, e uma
relação material de contração entre o ventrículo e o impulso. Isso é exatamente o
que é dito no axioma (a).
O axioma (b), porém, não tem relação direta com as condições e regras
implementadas. O que se pode concluir por (i), (ii) e (iv) é:
(b1) ∀ lv ( LeftVentricleAsPump(lv) → ∃ pei, lvc (PurkinjeElectricalImpulse(pei) ∧ contraction(lv, pei)
∧ LVContraction(lvc) ∧ mediates(lvc, lv) ∧ mediates(lvc, pei) ) )
86
(b2) ∀ pei ( PurkinjeElectricalImpulse(pei) → ∃ lv, lvc (LeftVentricleAsPump(lv) ∧ contraction(lv, pei)
∧ LVContraction(lvc) ∧ mediates(lvc, lv) ∧ mediates(lvc, pei) ) )
Dessa forma, resta provar formalmente a equivalência (ou não) de (iii) e (iv) com o
axioma (a) e de (i), (ii) e (iv), formalizados por (b1) e (b2), com o axioma (b), para
saber se essa relação material está devidamente representada. Porém, para saber
se essa forma de representação atende a qualquer caso de relação material, seria
ainda necessário generalizar esse exemplo, identificar as equivalências e prová-las
formalmente.
87
5. Conclusão
Este capítulo expõe como resultados finais as conclusões a respeito do trabalho e as
dificuldades nele encontradas. Além disso, são sugeridos alguns trabalhos futuros
com relação à implementação de ontologias e à aplicação da implementação
realizada. A seção 5.1 apresenta esses resultados finais, e a seção 5.2 mostra os
trabalhos futuros sugeridos.
5.1. Resultados Finais
Conforme os estudos feitos no Capítulo 2, pode-se concluir que o presente trabalho
atende aos objetivos específicos (i) e (ii) que visavam respectivamente: enfatizar a
importância do uso de ontologias para modelagem conceitual e dos métodos de
Engenharia de Ontologia para implementá-las; e realizar um estudo sobre
linguagens usadas na representação e implementação de ontologias para melhor
entender a perda de expressividade que ocorre ao ser implementada uma ontologia
de referência de domínio utilizando-se uma linguagem de menor expressividade.
Outro resultado obtido é a implementação da ontologia de Eletrocardiograma
proposta em (GONÇALVES; GUIZZARDI; PEREIRA FILHO, 2007), como mostra o
anexo A. Ela pôde ser validada pelos resultados apresentados na Seção 4.2, obtidos
a partir das implementações dos axiomas que respondem às questões de
competência propostas pelo autor. Somando-se os estudos sobre a ontologia de
ECG, realizados no Capítulo 3, pode-se considerar que o objetivo específico (iii) de
estudar e implementar a Ontologia de ECG também é atingido neste trabalho.
Vale ressaltar, porém, que a ontologia não é implementada em sua totalidade,
devido à impossibilidade de se representar algumas de suas características
utilizando-se a linguagem OWL+SWRL. Esta questão é abordada na seção 4.3, em
que é feita uma análise da implementação da ontologia de ECG. A partir das
considerações feitas nessa seção, pode-se concluir que o trabalho também atende
ao objetivo específico (iv) de analisar a implementação proposta considerando-se as
limitações da linguagem utilizada. Foi possível identificar importantes aspectos da
88
perda da expressividade que ocorre em conseqüência dessas limitações. Dentre
eles, destacam-se a necessidade da expressividade da lógica de 2ª ordem para
permitir a utilização de conceitos e restrições da ontologia fundacional na
implementação; e da lógica modal para permitir a representação das distinções
ontológicas entre estereótipos, como espécie e fase (kind e phase).
Destaca-se ainda que, para atender aos objetivos (iii) e (iv) deste trabalho, foram
utilizados os métodos de Engenharia de Ontologia. A Fase de Modelagem
Conceitual corresponde ao estudo da ontologia de domínio de ECG (Capítulo 3). Na
Fase de Projeto, são levados em conta as ferramentas a serem utilizadas (Seção
4.1), os requisitos não-funcionais e a diferença de expressividade das linguagens
escolhidas para modelagem e implementação. No entanto, vale ressaltar que a
implementação não tem como objetivo atender a uma aplicação específica com
requisitos específicos. Dessa forma, é feita a análise da implementação a posteriori,
levando-se em consideração a perda de expressividade do modelo implementado
em relação ao modelo conceitual original (Seção 4.3). A Fase de Implementação
engloba a implementação da ontologia estudada (Anexo A) e seus resultados de
validação (Seção 4.2).
Sendo assim, a partir da realização dos objetivos específicos, pode-se considerar
que foram atingidos os objetivos gerais do trabalho de implementar a Ontologia de
Eletrocardiograma proposta em (GONÇALVES; GUIZZARDI; PEREIRA FILHO,
2007), utilizando a linguagem OWL+SWRL, e fazer uma análise da perda de
expressividade considerando-se o limite imposto pela linguagem.
Dentre as dificuldades encontradas durante o desenvolvimento do trabalho, a
principal delas foi a de encontrar trabalhos que tratassem das especificidades da
implementação de ontologias. As implementações encontradas não eram baseadas
numa ontologia de referência ou não haviam seguido um padrão de relevância para
o estudo proposto neste trabalho. Pôde-se perceber que, em muitos trabalhos, o
foco não foi na qualidade da implementação, mas nos resultados obtidos a partir
dela. Ressalta-se, portanto, a necessidade de desenvolvimento de trabalhos mais
aprofundados sobre “melhores práticas” na implementação de ontologias.
89
5.2. Trabalhos Futuros
Durante o desenvolvimento deste trabalho foi identificada a importância de estudos
específicos sobre implementação de ontologias, a serem realizados posteriormente,
por exemplo:
- Estudos sobre como podem ser utilizados os estudos já realizados sobre a Lógica
Descritiva Modal;
- Estudos sobre a possibilidade de utilizar a lógica de 2ª ordem na implementação de
ontologias;
- Estudos sobre como podem ser implementados alguns conceitos importantes
descritos na UFO, como os diversos tipo de relação todo-parte.
Além disso, no contexto da Eletrocardiografia, sugere-se a continuidade dos estudos
que visam promover a interpretação automática de ECG com o intuito de produzir
um resultado diretamente aplicável no campo da Informática Médica. Alguns
trabalhos sugeridos com esse fim são:
- Desenvolvimento de aplicações que utilizem a implementação da ontologia de ECG
para mapear o funcionamento do coração através de registros de ECG.
- Estudos sobre a possibilidade de relacionar a ontologia de ECG a uma outra
ontologia que modele as doenças cardíacas que podem ser detectadas a partir da
análise de um eletrocardiograma.
- Desenvolvimento de aplicações que utilizem implementações das ontologias de
ECG e de doenças cardíacas para realizar a interpretação automática de ECGs.
90
Bibliografia
ANTONIOU, G.; VAN HARMELEN, F. Web ontology language: Owl. In S. Staab and R. Studer, editors, Handbook on Ontologies in Information Systems. Springer-Verlag, 2003.
BECHHOFER, S. et al. OWL Web Ontology Language Reference. Disponível em: www.w3.org/TR/2004/REC-owl-ref-20040210. W3C Recommendation 2004. Acessado em agosto de 2007.
GONÇALVES, B. N.; GUIZZARDI, G.; PEREIRA FILHO, J. G. An Electrocardiogram (ECG) Domain Ontology. In Proceedings of the Second Brazilian Workshop on Ontologies and Metamodels for Software and Data Engineering (WOMSDE'07), 22nd Brazilian Symposium on Databases (SBBD)/21st Brazilian Symposium on Software Engineering (SBES). João Pessoa, 2007.
GUIZZARDI, G. et al. An Ontologically Well-Founded Profile for UML Conceptual Models. In: 16th International Conference On Advances In Information Systems Engineering (Caise). Latvia, 2004. Springer-Verlag, Berlin, Lecture Notes in Computer Science 3084, ISBN 3-540-22151-4.
GUIZZARDI, G. Ontological Foundations for Structural Conceptual Models. PhD Thesis (CUM LAUDE), University of Twente, The Netherlands. Published as the same name book in Telematica Instituut Fundamental Research Series No. 15, ISBN 90-75176-81-3 ISSN 1388-1795; No. 015; CTIT PhD-thesis, ISSN 1381-3617; No. 05-74. Holanda, 2005.
GUIZZARDI, G. On Ontology, ontologies, Conceptualizations, Modeling Languages, and (Meta)Models. Frontiers in Artificial Intelligence and Applications, Databases and Information Systems IV, Olegas Vasilecas, Johan Edler, Albertas Caplinskas (Editors). IOS Press, Amsterdam, 2007. ISBN 978-1-58603-640-8.
GUIZZARDI, G.; FALBO, R.; GUIZZARDI, R.S.S. Grounding Software Domain Ontologies in the Unified Foundational Ontology (UFO): The case of the ODE Software Process Ontology. XI Iberoamerican Workshop on Requirements Engineering and Software Environments – IDEAS. Pernambuco, 2008.
GUIZZARDI, G.; WAGNER, G. Some Applications of a Unified Foundational Ontology in Business Modeling. Ontologies and Business Systems Analysis, Michael Rosemann and Peter Green (Eds.). IDEA Publisher, 2005.
GUIZZARDI, G.; WAGNER, G. Using the Unified Foundational Ontology (UFO) as a Foundation for General Conceptual Modeling Languages. In: Theory and Application of Ontologies, R. Poli (editor), Springer-Verlag. Alemanha, 2008.
GUIZZARDI, R.S.S.; GUIZZARDI, G. Integrating Agent-Oriented Modeling Languages Using a Foundational Ontology. In Social Modeling for Requirements Engineering, P. Giorgini, N. Maiden, J. Mylopoulos, E. Yu (eds.), Cooperative Information Systems Series. MIT Press, 2008.
HAARSLEV V.; MOLLER R. Description of the RACER System and its Applications. In: Lecture
Notes in Computer Science 2083, 2001.
HORROCKS, I. et al. SWRL: A Semantic Web Rule Language Combining OWL and RuleML. Disponível em: http://www.w3.org/Submission/SWRL/. W3C Member Submission 2004. Acessado em agosto de 2007.
HORROCKS, I. et al. OWL rules: A proposal and prototype implementation. J. Web Semantics, vol.3, no.1, 2005, p. 23-40.
91
HORROCKS, I.; SCHNEIDER, P. P.; VAN HARMELEN, F. From SHIQ and RDF to OWL: The making of a web ontology language. Journal of Web Semantics, Vol. 1, No. 1. 2003, p. 7-26.
HUTH M.; RYAN M.: Logic in Computer Science: Modelling and Reasoning about Systems. 2 ed. Cambridge University Press. Cambridge, UK, 2004. ISBN: 0-521-54310-X.
NARDI D.; BRACHMAN R. J. An Introduction to Description Logics In The Description Logic Handbook: Theory, Implementation, Applications. Cambridge University Press. Cambridge, UK, 2003. p. 5-44. ISBN 0-521-78176-0.
O’CONNOR, M. et al. Writing Rules for the Semantic Web Using SWRL and Jess. 8th International Protégé Conference. Madrid, 2005.
PROTÉGÉ. SWRLQueryBuiltIns. Disponível em: http://protege.cim3.net/cgi-bin/wiki.pl?SWRLQueryBuiltIns. Protégé collaborative work environment 2007. Acessado em agosto de 2007.
RECTOR, A.; WELTY C. Simple part-whole relations in OWL Ontologies. Disponível em: http://www.w3.org/2001/sw/BestPractices/OEP/SimplePartWhole/index.html. W3C Recommendation 2005. Acessado em agosto de 2007.
RIFAIEH R. D. Contextual Ontologies Formalism. In Utilisation des Ontologies Contextulles pour le Partage Sémantique entre les Systèmes d'Information dans l'Entreprise. PhD Thesis. L’Institut National des Sciences Appliquées de Lyon. École doctorale EDIIS EDA 335. França, 2004.
92
Anexo A