Resumo: Este artigo destaca o uso da Unified Modeling Language, UML na especificação de modelos baseados em ontologias na representação de domínios de conhecimento, enfatizando a importância da semântica e do tratamento da linguagem padronizada para que o conhecimento do domínio possa ser organizado e compartilhado. Finalmente, este artigo tem como objetivo estabelecer uma conexão entre as temáticas: modelagem orientada a objetos e ontologias.
Palavras-chave:
Modelagem; Modelos de representação de conhecimento; Ontologias;
Semântica; Unified Modeling Language.
Abstract:
This article emphasizes the use of Unified Modeling
Language, UML in the specification of models based on ontologies in the
representation of domains of knowledge, emphasizing the importance of
semantic and of treatment of standardized language so the knowledge of the
domain can be organized and shared. Finally, this article aims to establish
a connection between the themes: the object oriented modeling and ontologies.
Keywords:
Modeling; Models of knowledge representation; Ontologies; Semantics; Unified
Modeling Language.
Introdução
A organização da informação tornou-se um processo
fundamental na medida em que vêm crescendo exponencialmente o volume de
informações disponível, resultando muitas vezes na desorganização de acervos
informacionais e consequentemente na dificuldade de se encontrar o que se
procura num deter-minado sistema de recuperação de informação. Nesse
sentido, pesquisas têm sido desenvolvidas progressivamente visando ao
desenvolvimento de mecanismos de indexação, organização, compartilhamento e
recuperação de informações, com o objetivo único de melhorar a eficácia dos
sistemas de recuperação de informação.
Podemos citar, dentre outras, algumas pesquisas nessa perspectiva
voltadas à exploração semântica da informação, tais como: a) a Web Semântica
que pretende criar metodologias, tecnologias e padrões de metadados para
aumentar o escopo das atividades desempenhadas automaticamente (Berners-Lee, Hendler e Lassila, 2001); b) a utilização semântica embutida nos próprios
documentos com o uso de estruturas da linguagem natural como os sintagmas
nominais e verbais (Souza, 2005); c) instrumentos de representação de
relacionamentos semânticos e conceituais como as ontologias (Gruber, 1993) e
os tesauros (Dahlberg, 1978), objetivando evitar problemas relacionados à
ambiguidade inerente às palavras da linguagem natural.
Esse fato contribui para a atenção dada às ontologias, cuja origem se dá no
campo teórico da filosofia (Corazzon, 2008), sendo ainda pesquisadas e
desenvolvidas como instrumento de representação de conhecimento nos campos
das ciências da computação e da informação. Para a ciência da informação as
ontologias são de interesse pela potencialidade que elas têm em organizar e
representar informação. Segundo Almeida e Bax (2003), as ontologias podem
melhorar os processos de recuperação de informação ao organizar o conteúdo
de fontes de dados num determinado domínio.
Dentre as principais contribuições da ciência da computação no que tange à
representação do conhecimento, destacam-se os modelos de representação
associados à modelagem de dados, mais especifica-mente, o modelo orientado a
objetos (Furlan, 1998; Rumbaugh e
Blaha, 2006; Booch, Jacobson e Rum-baugh,
2006; OMG, 2003), o modelo entidade-relacionamento (Chen, 1976;
Silberschatz,
Korth e Su-darshan, 2006; Navathe e Elmasri, 2000) e a ontologia formal (Guarino,
1998; Gruber, 1993), campo que repensa as possibilidades representacionais e
de organização de domínios de conhecimento.
Neste artigo, dar-se-á destaque ao modelo orientado a objetos, por
apresentar similaridades (estruturas formadas por conceitos e relações) com
as ontologias (apresentadas na próxima seção) e por tratar de questões
relacionadas à semântica envolvida na representação de seus conteúdos.
Objetiva-se, também, apresentar as principais pesquisas inerentes às formas
de representação semântica na linguagem de modelagem unificada, conhecida
como UML (Unified Modeling Language), e como tal linguagem pode ser útil na
especificação de modelos baseados em ontologias.
Ontologias: definições, características, aplicações e implementação
Ontologia como um ramo da filosofia remete ao “... estudo do Ser; a área
da metafísica que se relaciona ao Ser ou essência das coisas, ou o Ser no
sentido abstrato” (Oxford English Dictionary). Já na computação,
uma ontologia é um artefato de software que tem utilizações específicas em
ambientes computacionais (Smith, 2004). A apropriação do termo “ontologia”
da filosofia pela comunidade de computação (em especial pela comunidade de
inteligência artificial) deve-se ao fato de as ontologias servirem como meio
de organização das coisas passíveis de representação simbólica
(representação formal). E, a partir da representação formal, possibilitar
raciocínio dedutivo através de regras de inferências.
Na ciência da computação os estudos sobre ontologias como artefato de
software tiveram início na década 90, principalmente na inteligência
artificial em pesquisas sobre representação do conhecimento (Gruber, 1993;
Gruber, 1993a; Guarino, 1998). O interesse sobre o assunto ontologias na
ciência da informação (Soergel, 1997; Soergel, 1999; Vickery, 1997) acontece
também nesse período. Vickery (1997) foi um dos primeiros do campo da
biblioteconomia a dar atenção ao termo ontologia na ciência da informação.
Pesquisadores dos campos de ciência da computação e ciência da informação
abordam o conceito de ontologia explicitando seu papel de estruturar um
domínio de conhecimento e compartilhar tal conhecimento numa comunidade de
interesse. Jurisica, Mylopoulos e Yu (1999) afirmam que as ontologias podem
ser usadas como conhecimento comum de um domínio, viabilizando a comunicação
entre uma comunidade de interesse. Para os autores, na perspectiva da
ciência da computação e da ciência da informação, uma ontologia pode ser
útil na organização e representação de conhecimento, tendo a tecnologia como
apoio na viabilização de uma infra-estrutura para gerência de conhecimento.
Numa perspectiva interdisciplinar entre a inteligência artificial e a
filosofia, Chandrasekaran, Johnson e Benjamins (1999) definem que uma
ontologia refere-se a conteúdo teórico sobre diversos objetos, a
propriedades desses objetos e ao relacionamento entre objetos que são
possíveis num domínio específico de conhecimento.
Gruber (1993) define ontologia como uma especificação explícita de uma
conceitualização. Borst (1997, p.12) também apresenta uma definição muito
aceita pela comunidade de ontologia: “uma especificação formal e explícita
de uma conceitualização compartilhada”. Ou seja, um conhecimento consensual
de um determinado domínio. Almeida e Bax (2003) explicam que “formal”
significa legível para computadores; “especificação explícita” estaria
relacionada a conceitos, propriedades, axiomas explicitamente definidos;
“compartilhado” seria conhecimento consensual; e “conceitualização” diz
respeito a um modelo abstrato de algum fenômeno do mundo real.
Guarino (1998) descreve uma ontologia como sendo um artefato da engenharia,
constituído por um vocabulário intencional relacionado a uma certa
realidade, em conjunto com pressupostos explícitos em forma de lógica de
primeira ordem, representando conceitos e relações entre conceitos. Tal
vocabulário intencional é descrito mediante uma aceitação, ou seja, um
consenso relativo ao sentido das palavras que irão compô-lo.
Para Uschold e Gruninger (1996), ontologias são termos usados para
referenciar um conhecimento compartilhado em um algum domínio de interesse,
que pode ser usado como uma aplicação unificada para resolver problemas. Os
autores afirmam que uma ontologia incluirá necessariamente um vocabulário de
termos e alguma especificação de seu significado. Esse vocabulário pode ser
representado com distintos graus de formalismo: desde o mais informal,
utilizando-se linguagem natural, até o rigorosamente formal,
representando-se os termos por meio de uma linguagem lógica.
As ontologias podem ser classificadas quanto ao seu conteúdo em: de domínio,
de tarefas, de aplicação, genéricas e de representação (Guarino, 1998). As
ontologias de domínio expressam conceituações de domínios genéricos,
descrevendo o vocabulário relacionado a um domínio de aplicação, tal como
medicina. As ontologias de tarefas expressam conceituações sobre a resolução
de problemas, independentemente do domínio em que ocorram. As ontologias de
aplicação descrevem conceitos dependentes de domínio e de tarefa
particulares. As ontologias genéricas descrevem conceitos bastante gerais,
tais como espaço, tempo, matéria, objeto, etc., que são independentes de um
domínio particular. Enquanto as ontologias de representação buscam os
compromissos ontológicos embutidos em formalismos de representação de
conhecimento.
Os componentes básicos de uma ontologia podem ser encontrados em
Gruber
(1993a): a) classes – organização dos conceitos de um domínio, arranjadas em
uma taxonomia. As classes herdam as características de suas classes-pai, de
forma similar ao modelo orientado a objetos; b) relações - representam o
tipo de interação entre os conceitos de um domínio; c) axiomas - usados para
restringir a interpretação e o uso dos termos envolvidos; d) instâncias -
utilizadas para representar objetos específicos (os próprios dados).
No que diz respeito à aplicabilidade das ontologias, destacamos a Web
Semântica, a qual é responsável pela compatibilização de conceitos
encontrados em bancos de dados dos mais diversos tipos. Como aponta Tim
Berners-Lee, “dois bancos de dados podem usar diferentes identificadores
para o mesmo conceito”. A solução para esse problema seria criar uma
ontologia, a qual ele define como “um documento ou arquivo que define
formalmente os relacionamentos entre termos”. Uma ontologia para Web possui
tipicamente uma taxonomia e um conjunto de regras de inferência (Gilchrist,
2003). Além da Web Semântica, outras aplicações podem ser destacadas:
representação de conteúdo em ambientes virtuais, recuperação de informação,
gestão de conhecimento, construção de interfaces cooperativas, navegação e
interoperabilidade de sistemas (Almeida, 2002;
Moreira, 2002; Jorge, 2005;
Almeida, 2006).
Várias linguagens baseadas em XML (eXtensible Markup Language) têm
sido propostas para implementar ontologias. Por exemplo: RDF (Resource
Description Framework), RDF Schema, DAML (DARPA
Agent Markup Language,) + OIL (Ontology Inference Layer) e
OWL
(Ontology Web Language) (Breitman, 2005). Tais linguagens, também
chamadas de “linguagens baseadas na Web”, encontram-se ainda em fase
de desenvolvimento e em constante evolução (Lozano-Tello e Gomez-Perez,
2004). Algumas dessas linguagens possuem expressividade semântica mais bem
elaborada do que outras, como nos casos da Ontology Web Language,
OWL perante RDF Schema, e desta perante eXtensible Markup Language,
XML.
Diversas metodologias têm sido apresentadas e discutidas na literatura para
construção de ontologias (Fernández-Lopez, 1999;
Jones, Bench-Capon e
Visser, 1998; Uschold e Gruninger, 1996). Mui-tas dessas metodologias
possuem abordagens e características diversas, sendo direcionadas a
diferentes propósitos e aplicações, ou seja, não possuem propostas
unificadas, sendo que grupos diferentes utilizam diferentes abordagens
(Silva, 2008).
Modelo orientado a objetos
O modelo orientado a objetos é o resultado de um paradigma de análise,
projeto e programação de software baseado na composição e interação entre
diversas unidades chamadas objetos. Um objeto pode ser considerado um
conceito, uma abstração, ou algo que representa, através de sua identidade,
algum significado para uma aplicação. A modelagem orientada a objetos tem
como meta identificar o melhor conjunto de objetos para descrever um sistema
de software e reusar tais objetos quando necessário em outras aplicações (Rumbaugh
e Blaha, 2006).
Atualmente, a técnica de modelagem UML Unified Modeling Language é a mais utilizada na área de Engenharia de
Software (Pressman, 1995; Rezende, 2002), visto ser uma técnica madura para
modelar qualquer tipo de aplicação (Furlan, 1998). Segundo
Furlan (1998), a
linguagem de modelagem unificada pode ser usada para: a) mostrar como os
atores (usuários) interagem com as funções principais do sistema de
informação através dos diagramas de interação; b) representar uma estrutura
estática de um sistema através dos diagramas de classe; c) modelar o
comportamento dos objetos através dos diagramas de transição de estado; e d)
apresentar a arquitetura física do sistema com diagramas de componentes e de
implementação. Percebe-se que tal linguagem engloba desde a fase de
modelagem conceitual até a fase física, ou seja, de implementação do
software.
Na modelagem orientada a objetos implementa-se um conjunto de classes que
definem os objetos presentes no sistema de software. Uma classe representa
um grupo de objetos semelhantes e que, através da especialização e da
generalização ou categorização, organiza os objetos por suas semelhanças e
diferenças (Rumbaugh e Blaha, 2006). Desta maneira, surge o conceito de
superclasse e subclasses - relacionamento entre uma classe e uma ou mais
variações da classe. Cada classe determina o comportamento (definido nos
métodos) e estados possíveis (atributos) de seus objetos, assim como o
relacionamento com outros objetos.
Cada um desses objetos é chamado de instância de sua classe. Segundo
Rumbaugh e Blaha (2006), a subclasse herda as características de sua
superclasse. Acrescentam os autores que cada instância de uma subclasse é
também uma instância da superclasse. Daí a denominação “é- um”, do inglês
“is a”, para o relacionamento de generalização. A Figura 1 ilustra uma
situação de especialização (conhecida como processo top-down) e
generalização (conhecida como bottom-up) entre a superclasse pessoa e suas
subclasses cliente e empregado. A subclasse empregado, por sua vez,
especializa mais três subclasses: escriturário, caixa e secretária.
Figura 1 - Modelo representando uma herança entre a classe pessoa e suas
subclasses

Fonte: adaptado de Silberschatz, Korth e Sudarshan, (2006)
Outras formas de organizar ou classificar objetos podem ser concretizadas
através da agregação e da associação. Na agregação, há níveis de abstração
do tipo “é parte de” em relação à classe. Exemplo: termostatos e
compressores são partes de congeladores. Já na associação, uma classe tem
atributos que associam características comuns a outras classes diferentes.
Nessa classificação, certas idéias promovem lembranças de outras idéias a
elas relacionadas, como no exemplo: montanhas e pistas estão associadas a
esquiar. As relações de especialização/generalização, de agregação e de
associação são similares às utilizadas nas ontologias.
Nas ontologias, a especialização e a generalização são relações
representadas através de hierarquias de classes, conhecidas como taxonomia.
Tais relações, bem como as de agregação e de associação podem ser
representadas através de uma linguagem lógica, como a lógica descritiva e a
lógica de primeira ordem (Uschold e Gruninger, 1996). A lógica de primeira
ordem e a lógica descritiva são vistas como possibilidades de tipos de
deduções projetadas para auxiliar o usuário a definir um conjunto coerente
de conceitos e instâncias (objetos) para descrever o domínio. A lógica
descritiva fornece uma caracterização formal da representação e a capacidade
dedutiva, além de permitir completude computacional (Cranefield e Purvis,
1999).
A percepção da relação do modelo orientado a objetos (destacando-se a Unified Modeling Language) para com as ontologias torna-se clara na medida
em que ambos buscam representar semanticamente um domínio de conheci-mento.
O primeiro modelo busca classificar o domínio através de classes e objetos,
possibilitando o reuso dos mesmos em outras aplicações. Tais princípios
também são empregados nas ontologias, conforme foi visto em seção
específica.
UML – Unified Modeling Language
A Unified Modeling Language é sucessora de um conjunto de métodos de análise
e projetos baseados em objetos, criado pelos próprios autores da linguagem:
Grady Booch, James Rumbaugh e Ivar Jacobson. A linguagem é adotada e
recomendada pelo Object Management Group – OMG, um grupo responsável pelos
padrões voltados ao paradigma de orientação a objetos. Por possuir uma
notação gráfica simples e ser capaz de modelar aspectos estruturais e
comportamentais de um sistema é amplamente consolidada na área de Engenharia
de Software (Pressman, 2002; Booch, Jacobson e Rumbaugh, 2006).
Furlan (1998, p.38) assinala que a Unified Modeling Language é uma
linguagem de modelagem e não uma metodologia, pois não explicita os
procedimentos de uso da linguagem para construção de softwares, geralmente
embuti-dos numa metodologia. Assim como tem crescido progressivamente
o uso de Unified Modeling Language, tem aumentado também um vasto
conjunto de ferramentas CASE (do inglês Computer-Aided Software
Engineering), as quais suportam esta linguagem por possuir mecanismos
que permitem sua própria extensão para diversos domínios de problema. As
mais conhecidas são o ArgoUML, Poseidon e Unisys Rose XML Tools.
A Unified Modeling Language possui vários diagramas (Booch, Jacobson e Rumbaugh, 2006). Os diagramas que modelam os aspectos estruturais são os de
classes, de objetos, de componentes e os de desenvolvimento. Os diagra-mas
de colaboração, de seqüência, de casos de uso, de estados e de atividades
servem para modelar os aspectos comportamentais de um sistema. O diagrama de
classes mostra um conjunto de classes, interfaces e relacionamentos que é
responsável por modelar a parte estática do sistema.
A semântica estática consiste em um conjunto de regras que definem
diagramas bem formados dentro da linguagem. No exemplo da Figura 2 as
classes Indivíduo e Grupo são especializações da classe Intérprete,
relacionamento conhecido como generalização; outros tipos de relacionamentos
são contemplados no diagrama de classes como o relacionamento de associação
entre as classes Gravação e ItemNoCD, que representa uma relação estrutural
entre duas classes indicando que estas se comunicam através e troca de
mensagens; e o relacionamento de dependência entre a classe ItemNoCD e CD,
chamado de relacionamento de agregação, cuja semântica é “parte de”.
Na próxima seção serão apresentadas as principais motivações da Unified
Modeling Language para especificação de ontologias.
Motivações da Unified Modeling Language na especificação de ontologias
Dada a similaridade entre os modelos orientados a objetos e as ontologias, a
comunidade de orientação a objetos tem despertado para o uso de ontologias
através da Unified Modeling Language em conjunto com a sua linguagem de
restrição de objetos denominada OCL - Object Constraint Language (Cranefield
e Purvis, 1999), que será enfatizada na próxima seção. A linguagem foi
adotada como padrão em modelagem pela Object Management Group, e é largamente utilizada no
desenvolvimento de sistemas orientados a objeto (OMG, 2003).
Os diagramas considerados relevantes na modelagem de ontologias são o
diagrama de classe e o digrama de objetos (na modelagem de instâncias da
ontologia). O suporte comercial para padrões orientados a objetos permite a
investigação de padrão de técnicas de modelagem de objetos para
desenvolvimento de ontologias. A Unified Modeling Language tem uma ampla e
rápida expansão de uma comunidade de usuários, sendo que estes usuários
provavelmente estarão mais familiarizados com a notação Unified Modeling
Language do que com a lógica descritiva. Ao contrário do formalismo da
lógica descritiva, há um padrão de representação gráfica para modelos
expressados em Unified Modeling Language. Dessa maneira, uma representação
gráfica é importante para permitir aos usuários de sistemas de informação
pesquisar uma ontologia e descobrir conceitos que podem aparecer nas
consultas. Em contrapartida, a lógica descritiva tem uma sintaxe linear, mas
nenhum padrão de representação gráfica (Cranefield e Purvis, 1999).
Embora a Unified Modeling Language, geralmente, não tenha um padrão de
sintaxe linear, a Object Management Group encontra-se num processo de adoção de extensões de
Unified Modeling Language para representar ontologias em
DAML-OIL (Lockheed,
2000) e OWL (Brockmans e Haase, 2006) no contexto da Web Semântica.
Lockheed
(2000) assinala que o objetivo primário desse processo de adoção é converter
diagramas de classes em ontologias DAML, supondo que esses diagramas
representam ontologias DAML, DARPA agent markup
language; tal processo tem como objetivo secundário,
con-verter ontologias DAML, DARPA agent markup
language em diagramas de classes; e como objetivo futuro
converter qualquer diagrama de classe em DAML,DARPA
agent markup language. Os autores afirmam ser um
trabalho em progresso, pois nem todos os conceitos DAML são facilmente
mapeados para Unified Modeling Language.
A Unified Modeling Language não pode ser considerada um formalismo de
representação devido à ausência de declaratividade, de um motor de
inferência e de uma semântica formal; além de ser empregada mais para
modelagem estrutural e comportamental do que para a modelagem conceitual,
como as ontologias. A linguagem, entretanto, possui construtos abstratos o
suficiente para permitirem a representação de ontologias, como classes e
atributos (Freitas, 2003). As restrições da linguagem são definidas na
linguagem auxiliar Object Constraint Language, utilizada para expressar regras em
Unified Modeling
Language.
A Unified Modeling Language e a Object Constraint Language ainda não possuem uma semântica formal.
A Object Management Group fornece uma descrição informal em linguagem natural (Cranefield e Purvis, 1999). Pesquisadores vêm propondo diferentes formas se-mânticas para
Unified Modeling Language: modelo matemático direto (Breu et al, 1997);
descrição utilizando a linguagem de especificação Z (Evans, 1998);
definição de uma semântica formal, bem como de regras de trans-formação
dedutivas para provar que um diagrama é conseqüência de outro, proposta em
(Evans, 1998); operações semânticas descrevendo como um modelo Unified
Modeling Language se envolve com outros elementos (Overga-ard, 1998); e
semântica para OCL nos diagramas de classes proposta por Richters e Gogolla
(1998).
OCL – Object Constraint Language
Segundo Mello (2000), a Unified Modeling Language não provê todos os
aspectos relevantes da especificação de um sistema. Desse modo, foi
desenvolvida a linguagem OCL para preencher a necessidade, existente na
Unified Modeling Language, de representar, formalmente, restrições
adicionais sobre os objetos do modelo.
A
Object Constraint Language, ou linguagem de restrições de objetos, é uma linguagem formal
utilizada para expressar restri-ções relacionadas a um determinado modelo
Unified Modeling Language de um sistema (Booch, Jacobson e Rumbaugh, 2006).
Além disso, é uma linguagem tipada, isto é, cada expressão OCL possui um
tipo a ela associa-do. Sendo assim, a
Object Constraint Language restringe valores de atributos e
possíveis instâncias de um relacionamento, além de especificar procedimentos
para verificação de integridades. As restrições
Object Constraint Language são representadas
através do rótulo <Constraint>, que recebe, como valor, um string que deverá
conter em texto não estruturado, que representa todo o corpo de uma eventual
restrição
Object Constraint Language do modelo Unified Modeling Language.
De acordo com Mello (2000), uma restrição OCL pode assumir três diferentes
formas: a) invariantes – restrição que deve sempre ocorrer para todas as
instâncias de uma dada classe, tipo ou interface; b) pré-condição –
restrição que deve ser verdadeira no momento em que uma operação vai iniciar
sua execução; e c) pós-condição - restrição que deve ser verdadeira no
momento em que uma operação finaliza sua execução.
Cranefield e Purvis (1999) mostram parte da especificação de uma ontologia
sobre um catálogo de CDs de música clássica (apresentada na Figura 2). Seus
exemplos de especificações
Object Constraint Language são as restrições vinculadas às classes CD e
ItemNoCD. O exemplo do número de trilhas pertence a um item deve conter a
sequência que começa na trilha inicial e termina no tamanho do número de
movimentos do mesmo menos 1. Essa especificação restringe as possíveis
instâncias no relacionamento de agregação entre Trilhas e Itens. A
palavra-chave self indica uma instância; a palavra sequence, um tipo de
lista ordenada e size é uma função que retorna o número de elementos de uma
sequência da lista ordenada.
Mello (2000), após analisar a ontologia apresentada por
Cranefield e Purvis
(1999), propõe alguns pon-tos que precisam ser amadurecidos com relação a
tal ontologia, a saber: a) formalização: a linguagem que descreve Unified
Modeling Language não é formal, apenas uma descrição em linguagem natural é
usada. Necessita-se formalizá-la; b) raciocínio automático: em uma linguagem
de especificação de ontologias, não basta poder de expressão para descrever
o domínio. Devem-se estudar tipos de inferência possíveis e desejá-veis
sobre especificações Unified Modeling Language, em conjunto com OCL; e c)
meta-modelos: o uso de um meta-modelo para descrever conceitos bem gerais
(nível 1). Num segundo nível, esses conceitos seriam representados em
Unified Modeling Language e no nível 3 os modelos ontológicos seriam
descritos como especializações das descrições Unified Modeling Language.
Figura 2 - Especificação de uma ontologia utilizando as linguagens Unified
Modeling Language e OCL

Fonte: adaptado de
Cranefield e Purvis, (1999)
Considerações finais
Pesquisas ainda são necessárias para tornar explícitos que tipos de
inferências seriam fundamentais para ontologias representadas em Unified
Modeling Language, UML tendo em vista o tipo de sistema no qual a ontologia
será disponibilizada. Cranefield e Purvis (1999) não sugerem que a UML seja
considerada como uma alternativa para formalismos em lógica descritiva em
todas as situações. Segundo os autores, a Unified Modeling Language, UML não
fornece uma alternativa direta para modelar ontologias, principalmente num
sistema que exige deduções. Portanto, seria necessário expressar as
semânticas do diagrama de classe da UML dentro do sistema de dedução lógica,
o que aumentaria a complexidade e a extensão de suas deduções.
Em uma linguagem de especificação de ontologias é necessário o raciocínio
automático para descrever o domínio e, para isso, é preciso o estudo de
tipos de inferência possíveis e desejáveis sobre especificações Unified
Modeling Language em conjunto com Object Constraint Language, OCL.
Essas inferências seriam fundamentais para operações de manipulação de dados
que poderiam ser definidas em um conjunto de restrições padronizadas para
serem aplicadas automaticamente em qualquer ontologia. Também é necessário
desenvolver ferramentas de melhores aplicações em domínios diversos que
representem qualquer restrição Object Constraint Language, OCL.
Este artigo buscou apresentar as principais iniciativas de pesquisa nas
áreas de modelagem de domínios: a modelagem orientada a objetos e a
engenharia ontológica, mostrando as semelhanças e as contribuições entre as
duas áreas. Destacou-se a importância da semântica envolvida na
especificação de modelos, alcançada através de ontologias, e a facilidade na
forma de representação gráfica proporcionada pela Unified Modeling Language,
possibilitando a interação com a comunidade de usuários envolvida.
Iniciativas fundamentais na junção das comunidades de orientação a objetos e
ontologias encontram-se num patamar evolutivo, como é o caso da
especificação de ontologias DAML-OIL (Lockheed, 2000)
e ontologias Ontology Web Language, OWL (Brockmans e Haase, 2006;
OMG, 2003)
em Unified Modeling Language, no contexto da Web Semântica.
Como pesquisa futura, pretende-se avançar na investigação desta abordagem,
apontando as contribuições para a Web Semântica, Engenharia de Software,
Sistemas de Informação, dentre outros assuntos que tangem a área de
representação de conhecimento.
Referências Bibliográficas
ALMEIDA, M.B. Interoperabilidade entre fontes heterogêneas: um meta-modelo baseado em ontologias. 149 f. Dissertação (Mestrado em Ciência da Informação) - Escola da Ciência da Informação, Universidade Federal de Minas Gerais, Belo Horizonte, 2002.
ALMEIDA, M.B.; BAX, Marcello P. Uma visão geral sobre ontologias: pesquisa
sobre definições, tipos, aplicações, métodos de avaliação e de construção.
Ciência da Informação, Brasília, v. 32, n. 3, p.7-20, set./dez. 2003.
ALMEIDA, M. B. Um modelo baseado em ontologias para representação da memória
organizacional. 2006. 341f. Tese (Doutorado em Ciência da Informação) –
Escola de Ciência da Informação, Universidade Federal de Minas Gerais, Belo
Horizonte, 2006.
BERNERS-LEE, T; HENDLER, J.; LASSILA, O. The Semantic Web. Scientific
American, vol. 284, nº. 5, maio 2001, p. 34-43.
BOOCH, G. JACOBSON, I. RUMBAUGH, J. UML Guia do Usuário. Editora CAMPUS. Rio
de Janeiro. 2006.
BORST, W.N. Construction of Engineering Ontologies for Knowledge Sharing and
Reuse. 1997. Tese (Phd). Disponível em: <http://www.ub.utwente.nl/webdocs/inf/1/t0000004.pdf>.
Acesso em: 03 outubro 2005.
BREITMAN, Karin Koogan. Web Semântica: A Internet do Futuro. Rio de Janeiro:
LTC, 2005.
BREU, Ruth; GROSU, Radu; HUBER, Franz; RUMPE, Bernhard; SCHWERIN, Wolfgang.
Towards a precise semantics for object-orientedmodeling techniques. In Haim
Kilov and Bernhard Rumpe, editors, Proceedings ECOOP’97 Workshop on Precise
Semantics for Object- Oriented Modeling Techniques, pag-es 53–59. Technische
Universit¨at M¨unchen, TUM-I9725, 1997.
BROCKMANS, S.; HAASE, P. A Metamodel and UML Profile for Rule-extended OWL
DL Ontologies {A Complete Reference. Technical report, UniversitÄat
Karl-sruhe, March 2006. Disponível em: <http://www.aifb.uni-karlsruhe.de/WBS/sbr/publications/owl-metamodeling.pdf>.
Acesso em: 05 Março 2008.
CHANDRASEKARAN, B.; JOHNSON, T. R.; BENJAMINS, V. R. Ontologies: what are
they? why do we need them?. IEEE Intelligent Systems, Washington, v. 14, n.
1, p. 20-26, Jan./Fev.1999.
CHEN, Peter P. The Entity-Relationship Model - Toward a Unified View of
Data. March 1976. Dis-ponível em: <http://www.csc.lsu.edu/news/erd.pdf>.
Acesso em: 24 maio 2007.
CORAZZON, R. What is Ontology? Definitions by leading philosophers. In:
Ontology. A Resource Guide for Philosophers. 2008. Disponível em <http://www.formalontology.it/section_4.htm>.
Acesso em: 02 Abril 2008.
CRANEFIELD, S.; PURVIS, M. UML as an ontology modeling language. In:
WORKSHOP ON INTEL-LIGENT INFORMATION INTEGRATION, 16th, 1999, Stockholm.
Proceedings… Stockholm: Interna-tional Joint Conference on Artificial
Intelligence (IJCAI-99), 1999. p.1-16.
DAHLBERG, Ingetraut. Teoria do conceito. Ciência da Informação, Rio de
Janeiro, v. 7, n. 2, p. 101-107, jul./dez. 1978.
EVANS, A.. 1998. Reasoning with UML diagrams. Proceedings of the Workshop on
Industrial Strength Formal Methods (WIFT’98). IEEE Press.
EVANS, Andy; FRANCE, Robert; LANO, Kevin; RUMPE, Bernhard. Developing the
UML as a formal modelling notation. In Pierre-Alain Muller and Jean B´ezivin,
editors, Proceedings of UML’98 International Workshop, Mulhouse, France,
June 3 - 4, 1998, pages 297–307. ESSAIM, Mulhouse, France, 1998.
FERNÁNDEZ, M; GOMEZ-PEREZ, A.; SIERRA, J.P.; SIERRA, A.P . Building a
Chemical Ontology Using Methontology and the Ontology Design Environment.
Intelligent Systems, v. 14, n. 1, p. 37-46, jan./ fev.1999.
FREITAS, Frederico L. G. Ontologias e a Web Semântica. Santos: Universidade
Católica de Santos, 2003. Disponível em: <http://www.inf.unisinos.br/~renata/cursos/topicosv/ontologias-ws.pdf
>. Acesso em: 22 Março 2008.
FURLAN, José Davi. Modelagem de objetos através da UML: the unified modeling
language. São Paulo: Makron Books, 1998.
GILCHRIST, Alan. Thesauri, taxonomies and ontologies - an etymological note.
Journal of Documenta-tion, v. 59, n. 1, 2003, p. 7-18.
GUARINO, N. Formal Ontology and Information Systems. In: Formal Ontology in
Information Systems (FOIS’98), 1998, Trento. Proceedings of the First
International Conference on Formal Ontology in Infor-mation Systems (FOIS’98).
Trento, 1998.
GRUBER, T.. What is an Ontology? 1993. Disponível em: <http://www-ksl.stanford.edu/kst/what-is-an-ontology.html>.
Acesso em: 03 Agosto 2006.
GRUBER,T. A Translation Approach to Portable Ontology Specifications. 1993a.
Disponível em: <ftp://ftp.ksl.stanford.edu/pub/KSL_Reports/KSL-92-71.ps.gz>.
Acesso em: 03 Agosto 2006.
JONES, D.; BENCH-CAPON, T.; VISSER, P. Methodologies for ontology
development. In: 15th IFIP World Computer Congress, 1998, London.
Proceedings of the ITI and Knows Conf of the UK, London: Chapman and Hall,
1998. p. 62-75.
JORGE, Marcelo Alvim. Ontologias no suporte a portais semânticos.
Dissertação (Mestrado em Ciências da Informação) - Universidade Federal de
Minas Gerais, Belo Horizonte, 2005.
JURISICA, I.; MYLOPOULOS, J.; YU, E. Using Ontologies for Knowledge
Management: An Informa-tion Systems Perspective. Annual Conference of the
American Society for Information Science, Wash-ington, D.C.,1999.
LOCKHEED, Martin. 2000. UBOT details. Disponível em: <http://ubot.lockheedmartin.com/ubot/details/uml_to_daml.html>
. Acesso em: 10 Novembro 2007.
LOZANO-TELLO A. and GÓMEZ-PÉREZ A. ONTOMETRIC: A Method to Choose the
Appropriate Ontology. Journal Of Database Management. 2004. Disponível em: <http://www.accessmylibrary.com/coms2/summary_0286-20574535_ITM>.
Acesso em: 07 Novembro 2007.
MELLO. R. Aplicação de Ontologias a Bancos de Dados Semi-Estruturados. Tese
de Doutorado. PGCC-UFRGS. Porto Alegre. 2000.
MOREIRA, Alexandra. Uso de ontologia em sistemas de informação
computacionais. Perspectivas em Ciência da Informação, Belo Horizonte. v.7,
n. 1, p. 49-60, jan/jun. 2002.
NAVATHE, Shamkant B.; ELMASRI, Ramez. Sistemas de bancos de dados:
fundamentos e aplicações. Rio de Janeiro: LTC, 2000.
OMG. 2003. Object Management Group.
http://www.omg.org/
OVERGAARD, Gunnar. A formal approach to relationships in the Unified
Modeling Language. In Man-fred Broy, Derek Coleman, Tom S. E. Maibaum, and
Bernhard Rumpe, editors, Proceedings PSMT’98 Workshop on Precise Semantics
for Modeling Techniques. Technische Universit¨at M¨unchen, TUM-I9803, 1998.
PRESSMAN, Roger S. Engenharia de Software. São Paulo: Makron Books, 1995.
REZENDE, D. A. Engenharia de software e sistemas de informação. 2 ed. Rio de
Janeiro: Brasport, 2002.
RICHTERS, Mark; GOGOLLA, Martin. On formalizing the UML Object Constraint
Language OCL. In TokWang Ling, Sudha Ram, and Mong Li Lee, editors, Proc.
17th Int. Conf. Conceptual Modeling (ER’98). Lecture Notes in Computer
Science, number 1507, Springer-Verlag, 1998.
RUMBAUGH, J., BLAHA, M. Modelagem e projetos baseados em objetos com UML 2.
Rio de janeiro : Campus, 2006.
SILBERSCHATZ, A., KORTH, H.F., SUDARSHAN, S. Sistemas de Bancos de Dados.
Tradução: Da-niel Vieira. 5ª Edição. Rio de Janeiro: Elsevier. 2006.
SILVA, Daniela Lucas da. Uma Proposta Metodológica para Construção de
Ontologias: Uma Perspectiva Interdisciplinar entre as Ciências da Informação
e da Computação. 286 f. Dissertação (Mestrado em Ciência da Informação) -
Escola da Ciência da Informação, Universidade Federal de Minas Gerais, Belo
Horizonte, 2008.
SMITH, B. Ontology and Informations Systems. 2004. Disponível em: <http://www.ontology.buffalo.edu/ontology>
Acesso em: 15 Setembro 2007.
SOERGEL, Dagobert. Functions of a Thesaurus / Classification / Ontological
Knowledge Base. Col-lege of Library and Information Services, University of
Maryland. 1997.
SOERGEL, Dagobert. The Rise of Ontologies or the Reinvention of
Classification. Journal of the American Society of Information Science
50(12): 1119-1120. 1999.
SOUZA, Renato Rocha. Uma proposta de metodologia para escolha automática de
descritores utilizando Sintagmas Nominais. 202p. Tese (Doutorado em Ciência
da Informação) – Escola de Ciência da Informação, Universidade Federal de
Minas Gerais, Belo Horizonte, 2005.
USCHOLD, M.; GRUNINGER, M. Ontologies: principles, methods an applications.
Knowledge Engineer-ing Review, v. 11, n. 2, 1996.
VICKERY, B. C. Ontologies. Journal of Information Science, v. 23, n. 4, p.
277-286, 1997.
Sobre os autores / About the Author:
Mestre em Ciência da Informação pela Escola de Ciência da Informação da UFMG e Doutoranda do Programa de Pós-Graduação em Ciência da Informação da Escola de Ciência da Informação UFMG.
Eliana Antonia Demarques
Mestranda do Programa de Pós-Graduação em Ciência da Informação da Escola de Ciência da Informação da Universidade Federal de Minas Gerais .
Renato Rocha Souza
Doutor em Ciência da Informação pela ECI/UFMG. Professor Adjunto da Escola de Ciência da Informação da Universidade Federal de Minas Gerais .
Gercina A. B. de Oliveira Lima
Doutora em Ciência da Informação pela ECI/UFMG.Professora Adjunta da Escola de Ciência da Informação da Universidade Federal de Minas Gerais.