You are on page 1of 56

UNIVERSIDADE FEDERAL DO ESTADO DO RIO DE JANEIRO

CENTRO DE CINCIAS EXATAS E TECNOLOGIA


ESCOLA DE INFORMTICA APLICADA

A UTILIZAO DE PADRES DE PROJETO DE ONTOLOGIAS NA


MODELAGEM DE UM CENRIO REAL

KAREN NUNES VALCARCEL

Orientador
FERNANDA ARAUJO BAIO AMORIM

RIO DE JANEIRO, RJ BRASIL


OUTUBRO DE 2014

1
A UTILIZAO DE PADRES DE PROJETO DE ONTOLOGIAS NA
MODELAGEM DE UM CENRIO REAL

KAREN NUNES VALCARCEL

Projeto de Graduao apresentado Escola de


Informtica Aplicada da Universidade Federal do
Estado do Rio de Janeiro (UNIRIO) para obteno do
ttulo de Bacharel em Sistemas de Informao.

Aprovada por:

__________________________________________________
FERNANDA ARAUJO BAIO AMORIM (UNIRIO)

__________________________________________________
KATE CERQUEIRA REVOREDO(UNIRIO)

__________________________________________________
FLAVIA MARIA SANTORO(UNIRIO)

RIO DE JANEIRO, RJ BRASIL.


OUTUBRO DE 2014

2
Dedico esta monografia aos meus amores, sempre presentes. Obrigada pelo incentivo
pelo apoio de vocs.

3
Agradecimentos

A Deus e ao meu So Jorge guerreiro que me iluminaram e protegeram, me levando e


trazendo em segurana todos os dias dessa jornada. Ao meu pai, Ronaldo Valcarcel, que
me proibiu de desistir quando eu achei que no conseguiria e que me incentivou em
todos os momentos me guiando sempre da melhor maneira possvel, me ajudando em
todas as minhas escolhas. A minha me, Maria Edith Nunes Valcarcel, com todo seu
apoio sempre me ajudando de todas as formas que podia, e tornando as coisas mais
fceis. Vocs foram fundamentais para eu chegar at aqui, sempre presando pelo meu
futuro. Obrigada por todo esforo e sacrifcio.

Ao meu noivo, Daniel de Miranda Chaves Christiani, que passou de meu melhor amigo
nesta jornada, chamada Sistema de Informaes, e vem se tornando meu companheiro
pra toda a vida, por toda a pacincia, amizade e cumplicidade. A minha orientadora,
Fernanda Arajo Baio Amorim, sempre presente me mostrando qual o prximo passo
para seguir em meu projeto, esclarecendo minhas dvidas com pacincia nas nossas
reunies que muitas vezes se estenderam pela Ponte Rio-Niteri.

Obrigada a todos, essa vitria nossa.

4
RESUMO

Modelar representar conceitualmente um cenrio, descrevendo suas caractersticas

estruturais a fim de facilitar o seu entendimento. Atravs da modelagem podemos

representar at mesmo os cenrios mais complexos, reutilizando solues j conhecidas,

chamadas de Padres de Projeto. Estas solues esto disponveis e catalogadas em

repositrios de Padres de Projeto de Ontologia (ODP Ontology Design Patterns).

Neste trabalho foi criado um modelo conceitual da ontologia de um Departamento

Pessoal atravs da adaptao e reutilizao de padres de projeto de ontologia

disponveis em um repositrio de padres de projeto de ontologia online, alimentado

com os padres criados partir das experincias de outros usurios de Ontologias.

Neste processo de criao da Ontologia do cenrio proposto foram demonstradas as

vantagens e desvantagens encontradas durante a instanciao desses padres ao cenrio

real modelado, bem como as facilidades asseguradas em relao criao de um

modelo sem o uso desses padres de ontologias, como, por exemplo, a facilidade em se

familiarizar com os conceitos ou as dificuldades em se conhecer e se entender o cenrio

que est sendo modelado. O foco deste trabalho foi a anlise dos benefcios e

limitaes do uso de padres de projeto de ontologia pr-existentes na modelagem de

um cenrio real, e as vantagens obtidas neste processo em relao qualidade e

expressividade.

Palavras-chave: Ontologias, Padres de Ontologias, Repositrios de ODPs,

Modelagem, Cenrio Real.

5
ABSTRACT

Modeling is the act of conceptually representing a scenario describing their structural

characteristics in order to facilitate its understanding. Through modeling we can

represent even the most complex scenarios, reusing already known solutions, called

Design Patterns. These solutions are available and cataloged in Ontology Design

Patterns (ODP) repositories.

In this work a conceptual model of the ontology of a Personnel Department was created

through the reuse of Ontology Design Patterns available on a repository supplied with

the patterns created from specialists. While creating the Ontology in the proposed

scenario, this work shows the advantages and disadvantages encountered to adjust

existing ODPs to the real scenario modeled, as well as the facilities obtained when

creating the model compared to the non-ODP scenario. For example, we experienced

the facility brought by ODPs to become familiar with the domain concepts and the

difficulties in knowing and understanding the scenario being modeled. The focus of this

work is the representation of the suitability of pre-existing ODP to a real scenario, and

the advantages gained in this process regarding the quality and expressiveness.

Keywords: Ontology, Ontology Patterns, ODP Repositories, Modeling, Real Scenario

6
ndice
1 Introduo ................................................................................................................... 10

1.1 Motivao .............................................................................................................. 10

1.2 Problema ............................................................................................................... 11

2 Fundamentao Terica .............................................................................................. 12

2.1 Ontologias ............................................................................................................. 12

2.2 Vantagens em se trabalhar com ontologias ........................................................... 15

2.3 Linguagens de Representao de modelos ............................................................ 15

2.3.1 RDF (Resource Description Framework) ...................................................... 16

2.3.2 OWL - Ontology Web Language ................................................................... 16

2.3.3 UML - Unified Modeling Language .............................................................. 18

2.4 Ferramentas utilizadas ........................................................................................... 19

3 Padres de Projeto de Ontologias ............................................................................... 20

3.1 Uso e Benefcios ................................................................................................... 21

3.2 Tipos de Padres ................................................................................................... 21

3.3 Utilizando Padres de Projeto ............................................................................... 24

3.4 Criao de Padres de Projeto de Ontologias ....................................................... 30

3.5 Repositrios de Padres de Ontologias ................................................................. 32

4 Modelagem do cenrio trabalhado .............................................................................. 34

4.1 Apresentao do cenrio modelado ...................................................................... 34

4.2 Modelagem do cenrio de testes ........................................................................... 36

4.3 Criao do cenrio sem utilizao de Padres de Projeto ..................................... 37

4.4 Analise da modelagem sem uso de padres .......................................................... 38

4.5 Criao do cenrio usando Padres de Ontologias ............................................... 39

4.6 Analise sobre o uso de padres de Ontologias ...................................................... 47

5 Concluso e Trabalhos Futuros ................................................................................... 50

7
ndice de Tabelas

Tabela 1: Padro Person ................................................................................................. 25


Tabela 2: Padro ParticipantRole................................................................................... 26
Tabela 3:Padro TimeInterval ........................................................................................ 27
Tabela 4: Padro Participation ....................................................................................... 28
Tabela 5: Padro Place ................................................................................................... 29
Tabela 6: Padro Set ....................................................................................................... 30
Tabela 7: Modelando Casos de uso - Do Genrico ao Especfico [Gangemi e Presutti,
2009] ............................................................................................................................... 32

8
ndice de Figuras

Figura 1: Ontologia sobre conceito de Automvel ......................................................... 13


Figura 2: Tipos de Ontologia por [Guarino, 1997] ......................................................... 14
Figura 3: Arquitetura de Representao do Conhecimento [Martins, 2007] .................. 16
Figura 4: Expressividade da Linguagem OWL [Autor desconhecido] .......................... 17
Figura 5: Tipos de padres de projeto de Ontologias [Gangemi, 2004]. ....................... 24
Figura 6: Modelagem do Cenrio de testes .................................................................... 36
Figura 7: Janela DataProperty do Padro TimeInterval no Protege .............................. 38
Figura 8: Padres para as classes Funcionrio - Servidor Contratado ........................ 40
Figura 9: Comparativo entre o padro Person e seu uso visto no Proteg ..................... 40
Figura 10: Padres para as classes Funo Servidor ................................................... 41
Figura 11: Comparativo entre o padro ParticipantRole e seu uso visto no Proteg ..... 42
Figura 12: Padres para representar as ausncias de um servidor .................................. 42
Figura 13: Comparativo entre o padro TimeInterval e seu uso no Proteg .................. 43
Figura 14: Padro para representar o Pagamento ou Auxilio recebido pelo servidor .... 44
Figura 15: Comparativo entre o padro Participation e seu uso no Proteg .................. 44
Figura 16: Padro para as classes Servidor Notas ....................................................... 45
Figura 17: Padro Place para definir os locais de Publicaes....................................... 46
Figura 18: Cenrio Proposto para o uso de Padres ....................................................... 47

9
1 Introduo

Neste captulo sero apresentados a motivao deste trabalho e o problema que iremos
tratar.

1.1 Motivao

A motivao deste projeto vem da necessidade de um estudo sobre a importncia da


utilizao de padres de projeto de ontologias disponveis em repositrios prprios, e
sua importncia em se trabalhar a reutilizao e o compartilhamento desses padres de
ontologias. O uso de repositrios de padres de projeto de ontologias facilita o acesso
aos padres de ontologias pr-definidos uma vez que serve como base de consulta s
solues criadas anteriormente a partir das experincias de outros usurios de
ontologias. Para entender melhor o tema, necessrio entender a origem destes termos.

Primeiramente explicamos o significado de Ontologia. O Estudo do ser tem origem


do grego, onde ontos significa "ser", e logos, "saber", "doutrina. De origem filosfica,
a palavra ontologia refere-se, segundo Gruber [1993], a uma especificao explcita de
uma conceitualizao, ou seja, ao modelo de dados atravs do qual um conjunto de
conceitos representado dentro de um domnio e quais os relacionamentos sero
possibilitados pelas correlaes dos mesmos.

Definida a ideia de ontologias podemos expor a ideia dos padres de projeto de


Ontologias (ODP), ou simplesmente padres de ontologias, nos quais so estabelecidas
as diretrizes comuns a fim de solucionar problemas de projeto de ontologia, ou seja, um
ODP pode ser definido como uma soluo de modelagem para resolver um problema
recorrente[Gangemi,2004].

A importncia de se utilizar um repositrio de padres de ontologias est no fato de que


os padres de projetos j criados, melhorados e catalogados podem ser mais bem

10
reutilizados quando agrupados em um repositrio, uma vez que estes repositrios
representam uma infraestrutura criada para facilitar este o acesso aos padres
elaborados por usurios de ontologias que colaboram no s disponibilizando novos
padres, mas tambm atualizando e comentando os j existentes.

A utilizao de padres de projeto de ontologias no simples. Primeiro necessrio


entender a ideia geral deste padro e a abrangncia que ele pode atender, e at mesmo
cada conceito envolvido no modelo, assim como os relacionamentos envolvidos, pois
um padro na verdade um conjunto de conceitos que juntos formam uma situao que
se deseja representar. Muitas vezes pode-se deixar levar pelo nome do padro ou pela
ideia de um desses conceitos que esto envolvidos, porem deve-se atentar se ele
realmente se encaixa no cenrio que esta sendo modelado.

Esse trabalho visa ilustrar como a reutilizao de padres de projeto de ontologia pode
auxiliar a modelagem de um cenrio real de uma organizao. Foi feita uma
comparao das ontologias construdas com e sem o uso dos ODPs obtidos de um
repositrio de padres de ontologia existente na literatura.

1.2 Problema

O problema abordado nessa proposta ser uma anlise mais aprofundada dos benefcios
da utilizao dos padres de projeto de ontologias disponveis para uso em um
repositrio prprio traando uma comparao entre criar uma modelagem utilizando
padres e outra sem a utilizao dos mesmos com o propsito de clarear os
conhecimentos existentes sobre o assunto.

11
2 Fundamentao Terica

2.1 Ontologias

Conforme mencionado anteriormente, a palavra ontologia refere-se ao modelo de dados


atravs do qual um conjunto de conceitos representado dentro de um domnio e quais
os relacionamentos sero possibilitados pelas correlaes dos mesmos.

Em Gruber [1993] encontramos uma definio de ontologia como uma especificao


explcita de uma conceituao, onde possvel entender que uma ontologia pode ser
definida como um conjunto de termos de representao no qual nomes de entidades so
associveis a uma interpretao lgica no universo do discurso. Formalmente, uma
ontologia a afirmao de uma teoria lgica, atravs da qual diferentes campos podem
ser explorados, como por exemplo, inteligncia artificial, atravs do raciocnio
dedutivo; representao do conhecimento de um domnio especfico, com o
relacionamento semntico; e padronizao de comunicao atravs da reutilizao de
informaes semnticas para se aumentar a produo de novas ontologias, uma vez que
incentivando os desenvolvedores, na investigao e compreenso dos modelos
existentes, os resultados podem ser mais favorveis do que quando necessrio o
desenvolvimento das ontologias desde a sua criao. De Guarino [2004] podemos
entender que ontologias computacionais so o meio para modelar formalmente a
estrutura de um domnio (Sistema), ou seja, explicitar quais so os conceitos (as
entidades) e as relaes existentes entre estes conceitos, que so relevantes para um
propsito.

Para esta formalizao alguns componentes foram definidos em Gruber [1993]:

- Classes: maneira de se representar qualquer coisa em um no domnio de interesse,


como por exemplo, uma tarefa, ou uma funo, ou uma estratgia, etc.

- Relaes: representao de um tipo de interao entre os conceitos no domnio, ou


seja, entre as classes e os elementos do domnio;

12
- Axiomas: representam as sentenas que so sempre verdadeiras, independente da
situao, aplicadas na definio de restries sobre relaes e classes. Um axioma
uma afirmao lgica;

- Instncias: representam os conceitos e relacionamentos considerando os elementos


do domnio.

Um exemplo prtico destes conceitos pode ser visto na ontologia automvel,


representada na Figura 1. O termo automvel refere-se classe/entidade automvel,
pois o mesmo tem propriedades que o definem (rodas, motor...). Esta classe se relaciona
com as demais atravs das relaes, que podem ou no ser hierrquicas, como por
exemplo, triciclo um automvel. Para tratar de um triciclo especifico voc pode
instancia-lo, meuTriciclo, por exemplo. Caso exista interesse em se fazer uma
afirmao (um triciclo um automvel que possui 3 rodas), usa-se um axioma.

Figura 1: Ontologia sobre conceito de Automvel

No trabalho de Guarino [1997] ontologias recebem diferentes classificaes:

13
Ontologias de alto nvel: grupo o qual inclui o vocabulrio relacionado a conceitos
globais, no pertencendo a um nico domnio. Esses conceitos mais gerais so genricos e
podem ser especializados por conceitos existentes nas ontologias de domnio ou tarefa.

Ontologias de domnio: englobam ontologias que representam um determinado


domnio, podendo ser reutilizveis dentro do mesmo. So representados seus conceitos e
relacionamentos, as atividades relacionadas, teorias e princpios desse domnio.

Ontologia de tarefas: englobam conjuntos de conceitos, atividades e recursos


utilizados para solucionar problemas (tarefas) recorrentes a diversos domnios distintos.
Dessa forma, esto inclusos nomes de atividades genricas e informaes necessrias para o
seu detalhamento, podendo ser reutilizadas em diferentes domnios.

Ontologias de aplicaes: compe o grupo formado pelas ontologias criadas a


partir de conceitos ou de uma tarefa especfica aplicada a um domnio especfico.

Esses tipos de ontologias podem ser entendidos graficamente atravs da Figura 2.

Figura 2: Tipos de Ontologia por [Guarino, 1997]

14
2.2 Vantagens em se trabalhar com ontologias

Conforme visto em [Ceci, 2010] a aplicao de ontologias no contexto de um


determinado domnio proporciona uma maior organizao e, com isso, facilita a
reutilizao da informao. Assim, a compreenso deste domnio pode ser
compartilhada entre pessoas e sistemas, acrescentando estruturas semnticas a uma
fonte de dados, para facilitar uma troca de informaes desses dados.

Moraes [2007] cita em seu trabalho uma lista de vantagens de se trabalhar com
ontologias nas diversas reas da computao, entre elas a Recuperao de Informaes
na Internet, por exemplo, no caso de catlogos de produtos online ou mesmo atravs de
ferramentas de anlise para que seja realizada uma pesquisa contextualizada, o
Processamento de Linguagem Natural para facilitar o entendimento, por exemplo, em
ambientes corporativos realizando armazenamento de informaes, entre outras
vantagens.

Moody [2003] define um conjunto de caractersticas importantes que refletem a


qualidade semntica de um modelo conceitual, que podemos considerar de forma
anloga ao tratar de ontologias como a representao de um modelo conceitual. Dentre
estas caractersticas, destacam-se a completude (preenche todos os requisitos do
usurio?), simplicidade (mnimo possvel de classes e relacionamentos), flexibilidade
(facilidade em lidar com alteraes), integrao (consistncia do modelo de dados com
o restante dos dados), alm das referentes compreenso (facilidade com que os
conceitos e estruturas de dados podem ser compreendidos) e execuo (facilidade de ser
implementada dentro dos requisitos existentes).

No trabalho de [Castro, 2010] tambm definido que as linguagens de modelagem de


menor expressividade so aquelas de aprendizado e uso mais simples. Ao longo do
projeto sero abordadas outras vantagens de se trabalhar com ontologias.

2.3 Linguagens de Representao de modelos

Com o passar dos anos, diversas linguagens foram criadas para representar ontologias.
Segundo Sell [2006] podemos extrair ontologias a partir de documentos XML
(eXtensible Markup Language). Essas ontologias so representadas por diferentes

15
linguagens. Algumas das linguagens mais utilizadas (Figura 3) so a RDF (Resource
Description Framework) e a OWL (Ontology Web Language), que sero descritas
abaixo.

Figura 3: Arquitetura de Representao do Conhecimento [Martins, 2007]

2.3.1 RDF (Resource Description Framework)


Segundo Sell [2006] o modelo RDF um modelo de dados baseado em triplas (objeto,
predicado e valor), atravs das quais so permitidas as descries sobre contedo
independentemente da estrutura do mesmo. O RDF Schema (W3C, 2004) compreende
as primitivas para a organizao de hierarquias e para a definio de restries sobre
RDF.

Por Fensel, [2001] e Gomez-Perez,[2006], citados por Sell [2006], entendemos que o
RDF Schema definido como um formalismo para a estruturao de ontologias mais
simples. No caso de se trabalhar com inferncias, so necessrios formalismos mais
expressivos para a representao de ontologias, pois estes devem incluir suporte para
axiomas e outras formas de relacionamentos entre os conceitos [Vieira et al, 2005].

2.3.2 OWL - Ontology Web Language


A OWL uma linguagem de representao e armazenamento de ontologias, criada com
o objetivo de definir e instanciar ontologias, e garantindo-lhes um maior poder de
expressividade que outras linguagens por possuir um vocabulrio mais rico do que as
linguagens anteriores, o que enriquece sua representao. Em uma ontologia
representada em OWL so includas descries de classes, propriedades e suas
instncias. A OWL foi baseada em OIL e DAML + OIL sendo atualmente esta

16
linguagem a recomendada da W3C [W3C, 2004], a fim de definir e instanciar
ontologias na web, se subdividido em trs sublinguagens: OWL Lite, OWL DL e OWL
Full, que se diferenciam por suas particularidades abaixo descritas como visto em Lopes
[2009] e em Antoniou e van Harmelen [2004] em relao a sua expressividade e
computabilidade [Azevedo et al., 2008] conforme mostrado na Figura 4.

Figura 4: Expressividade da Linguagem OWL [Autor desconhecido]

OWL Lite: Sublinguagem com menor poder descritivo, caracterizada pelos


construtos mais simples da linguagem, como classe, subclasse, propriedade de tipo de
dado e objeto, sub-propriedade, domnio, alcance, indivduos, semelhanas entre
classes, propriedades e indivduos, diferenas entre indivduos, propriedades inversas,
transitivas, simtricas, funcionais, inverso funcionais, todos os valores de, alguns
valores de, interseo de classes, com restries de cardinalidade entre zero e um para
propriedades, porm sendo mais fcil de entender e de se implementar;

OWL DL (Description Logics, ou Lgicas de Descrio): formada pelo


conjunto completo de construtos, alm de restries de cardinalidade completas,
operaes de conjunto (tais como unio, complemento, interseo e classes
enumeradas), disjuno, axiomas de intervalo de valor para propriedade de dados,
restrio de um conjunto de instncias especficas para uma propriedade
(allValuesFrom, someValuesFrom), definindo classes com essa restrio, e regra de
classificao de uma instncia caso possua um valor especfico em uma propriedade
(hasValue), caractersticas estas que no esto presentes na OWL Lite. Porm nesta
sublinguagem no possvel a classificao como uma instncia ou a criao de uma
instncia como um classe, permitindo que seja manipulvel por uma mquina em um
tempo determinado;

17
OWL Full: da mesma forma que a OWL DL, possui o conjunto completo de
construtos OWL, alm de permitir que uma classe seja identificada como uma instncia,
assim como permite que uma instncia seja identificada como uma classe, impedindo
que seu tratamento computacional tenha um tempo definido.

Segundo Azevedo et al. [2008] o modelo OWL prov um conjunto de vocabulrio mais
rico do que o encontrado no modelo RDF para melhor restringir o conjunto de triplas
que podem ser representada.

Segundo [Vieira et al, 2005] o RDF uma linguagem de meta-dados genrica usada
para explicitar relacionamentos entre recursos. O RDF permite especificar o que so
recursos, o que so relacionamentos e quais so os relacionamentos entre os recursos em
um domnio qualquer. A OWL uma evoluo do RDF onde definies mais
detalhadas sobre as relaes podem ser expressas atravs de ontologias. [Vieira et al,
2005] tambm cita que atravs da utilizao da OWL possvel descrever
caractersticas especiais sobre conceitos e os relacionamentos, atravs de axiomas
lgicos.

2.3.3 UML - Unified Modeling Language


Outra linguagem utilizada na modelagem conceitual de cenrios a UML, uma
linguagem para especificao, visualizao, construo e documentao de artefatos de
sistema de software, assim como para modelos de processo e sistemas que no so
softwares [Engiel, 2011], ou seja, para se representar de forma grfica um cenrio .

Entre os benefcios de se utilizar a UML para modelar ontologias, Cranefield et al,


[1999] cita que a linguagem UML possui uma comunidade de usurios muito grande e
rpida expanso, e, portanto seus usurios sero mais propensos a se familiarizar com
este notao; alm disso, a linguagem UML permite uma representao grfica padro,
importante para permitir que os usurios de sistemas de informao distribudos possam
procurar uma ontologia e descobrir os conceitos que podem aparecer em suas consultas.
Como a linguagem UML permite que sejam definidos diversos tipos de diagrama que
podem ser usados para modelar um comportamento dinmico de um sistema esttico,
essa linguagem foi escolhida para representar os diagramas utilizados neste trabalho, ou
seja, no s para representar o cenrio modelado, mas tambm o cenrio modelado
atravs do uso de padres.

18
2.4 Ferramentas utilizadas

Ao longo do projeto algumas ferramentas foram usadas para ilustrar conceitos e


cenrios. So elas:

Protg

Segundo a Wiki disponibilizada pelo site 1desenvolvedor do Software, o Protg uma


plataforma de cdigo aberto que fornece uma comunidade de usurios em crescimento,
com um conjunto de ferramentas para a construo de modelos de domnio e aplicaes
baseadas no conhecimento com ontologias. Neste projeto foi utilizado o Protg 4.3
para a criao das ontologias do cenrio de testes. Atravs desse Software possvel
criar as entidades e os relacionamentos entre eles, na linguagem ontolgica escolhida ,
seja ela RDF ou OWL.

AstaH

Neste projeto foi utilizado o Astah Community 6.7.0/43495 como uma ferramenta
voltada para a modelagem de sistemas utilizando a UML. Os modelos do cenrio
abordado neste projeto foram desenhados com esta ferramenta. Atravs dela tambm
possvel representar diagramas de caso de uso (anexo), e diagramas de classe e
diagramas entidade-relacionamento, que no foram abordados para este projeto.

1
http://protegewiki.stanford.edu/wiki/Main_Page

19
3 Padres de Projeto de Ontologias

Nos anos 70, Christopher Alexander lanou a ideia de Padres de Projeto, atravs de
seu trabalho no campo da Arquitetura [Gangemi, 2004]. Esta ideia se baseia na
subdiviso de reas de conhecimento baseando-se em problemas comuns vistos
anteriormente e nas solues utilizadas. Este trabalho impulsionou a ideia entre a
comunidade de software, primeiramente no que trata a orientao objeto, a publicar um
livro sobre Padres de Projeto nesta rea [Gama et al., 1997].

Gangemi et al [2007] introduz seu trabalho dizendo que um padro de projeto, na


Engenharia de Software, uma maneira simples e elegante para solucionar problemas
especficos de modelagem orientada a objeto oferecendo um vocabulrio comum para
auxiliar na comunicao, documentao e explorao de diferentes modelos, ou seja
uma descrio genrica de como resolver a modelagem de um problema que
futuramente poder ser utilizada em diversas situaes. Um Padro de Projeto reflete a
experincia, o conhecimento e as ideias dos desenvolvedores que tiveram sucesso
usando esses padres em seus trabalhos, criando solues adaptveis a diferentes
problemas. Esses padres de projeto podem estar organizados em catlogos os quais so
subdivididos em diferentes categorias, utilizando a linguagem OWL e a notao UML
para descrever as ontologias.

No campo de Ontologias, o termo Padres de Projeto de Ontologias (Ontology Design


Patterns - ODP), segundo o trabalho de Gangemi [2004], introduz as referncias s
diretrizes comuns com o objetivo de solucionar problemas de projeto de ontologia, ou
seja, um ODP pode ser definido como uma soluo de modelagem para resolver um
problema recorrente. J em Gangemi [2005] podemos acrescentar a definio de que
ODPs so solues de modelo iniciais para problemas especficos em um determinado
cenrio. Desta forma, podemos considerar que as ODPs so ferramentas adicionais para
ajudar a realizar tarefas tais como aprimorar as ontologias, por exemplo.

H algum tempo que os Padres de Projeto de Ontologia (ODP) surgiram como uma
forma de ajudar desenvolvedores de ontologias para modelar projetos utilizando a
linguagem OWL. No entanto, um problema na utilizao desses ODPs so as
dificuldades de se entender a linguagem pelos praticantes que no esto familiarizados

20
com a sintaxe OWL, mas que esto habituados a modelar usando outras tcnicas de
engenharia de software. Desta maneira, uma notao grfica (por exemplo, UML)
ajudaria os engenheiros de software e usurios de ontologias na tarefa de entender os
padres, e aumentaria a reutilizao de Padres de Projeto de Ontologias no processo de
construo de ontologias.

3.1 Uso e Benefcios

Segundo Aranguren [2005] e Guedes [2013], um Padro de Projeto (Design Pattern)


pode ser definido como abstraes de solues para os problemas de modelagem que
ocorrem com determinada frequncia em diferentes ontologias. Atravs desses padres
pode-se criar a documentao dessas solues para um problema de projeto em um
determinado cenrio.

A vantagem de usar Padres de Projeto de Ontologia a ajuda obtida para produzir


ontologias com melhores estruturas cujo conhecimento vem com maior facilidade.
Outra vantagem que usando estes padres, as ontologias tornaram-se mais
expressivas, ou seja, uma maior quantidade de informaes acerca dos conceitos
envolvidos agregado ao modelo projetado [Aranguren, 2005].

Atualmente, com a grande procura pela reutilizao de ontologias importante tomar


algumas precaues. Ao utilizar padres para desenvolver ODPs podemos, de maneira
mais simples, evitar erros de modelagem, alm de aperfeioar as ontologias, e a
manuteno e reutilizao das mesmas como visto em Egaa [2008], e Mortensen
[2012].

3.2 Tipos de Padres

Gangemi [2004] e Presutti [2008] agrupam os ODPs em seis diferentes famlias que se
subdividem de acordo com suas especificidades, conforme mostrado na Figura 5, e
tambm descrito abaixo, ou seja, grupos orientados para diferentes tipos de usurios
para tratar de diferentes problemas.

ODPs Estruturais (Structural ODPs):

21
o ODPs Lgicos (Logical ODPs) so ontologias genricas compostas por
construes lgicas com o objetivo de resolver um problema de
expressividade. Por serem expressas em termos de vocabulrio lgico
possuem assinaturas vazias. Essas ODPs so independentes da existncia
de um domnio especfico de interesse, ou seja, independentes de um
contedo. Outra observao importante que um mesmo ODP pode ser
utilizado mais de uma vez em um mesmo projeto de ontologia [Presutti,
2008]. Um exemplo de aplicao de ODPs lgicos na representao de
uma relao entre mais do que dois elementos, com o objetivo de
expressar uma relao semntica enria somente usando classe e relao
binria primitivas.

o ODPs de Arquitetura (Architectural ODPs) so formadas por grupos


de ODPs lgicas, com o objetivo de formar um design geral para a
ontologia. Estas ODPs surgiram a partir de necessidades especficas de
restries computacionais complexas. So especialmente teis em
referncias de documentao [Gangemi, 2004].

ODPs de Correspondncia (Correspondente ODPs):

o ODPs de Reengenharia (Re-engineering ODPs) so regras de


transformao aplicadas de modo a criar uma nova ontologia (modelo-
alvo) a partir de elementos de um modelo fonte, ou seja, transformar um
modelo conceitual. Pode-se subdividi-las em dois tipos: reengenharia de
esquema e de refatorao.

o ODPs de Mapeamento (Mapping ODPs) referenciam a possibilidade


semntica de comparao entre duas ontologias mapeveis existentes.
Existem trs relaes semnticas bsicas que so utilizadas para as
afirmaes de mapeamento: equivalncia, a conteno, e sobreposio. O
foco dessas ODPs fazer a relao de duas ontologias, sem alterar os
tipos lgicos dos elementos de ontologias envolvidos. Um exemplo de
ODP de Mapeamento utilizar a propriedade equivalentTo para
comparar ontologias de mesmo significado, por exemplo, caso houvesse

22
a necessidade de fazer a comparao entre as ontologias Servidor e
Contratado modeladas neste trabalho.

ODPs de Contedo (Content ODPs) se relacionam com a codificao de


conceitos, e no com os padres lgicos do projeto, fornecendo solues para
problemas de modelagem de domnio e afetando unicamente reas especficas da
ontologia tratando, assim, dos problemas de modelagem deste domnio.
comum a reutilizao dos mesmos. Os exemplos de ODPs de contedo foram
utilizados na modelagem por padres de projeto no cenrio teste deste trabalho.

ODPs de Raciocnio (Reasoning ODPs) so normatizaes, ou seja, so


aplicaes de ODPs lgicas a fim de se obter resultados determinados de
raciocnio. Alguns exemplos de ODPs de raciocnio so aquelas utilizadas para
realizar normatizaes, como por exemplo, para instanciar uma classificao, ou
uma subordinao.

ODPs de Apresentao (Presentation ODPs)

o ODPs de Nomeclatura (Naming ODPs) so convenes para se criar


nomes dentro dos namespaces de acordo com boas prticas para o bom
entendimento pelos desenvolvedores dos padres de ontologias.

o ODPs de Anotao (Annotation ODPs) fornecem as propriedades ou os


esquemas de anotao que podem ser utilizados a fim de melhorar a
inteligibilidade das ontologias e os seus elementos.

ODPs Lxico-Sintticas (Lexico-Syntactic ODPs) refere-se s estruturas


lingusticas ou esquemas os quais consistem em que determinadas palavras
sigam uma ordem especfica, permitindo a generalizao e a extrao de
algumas concluses sobre seus conceitos, sendo til para realizar associaes
simples entre lgica e contedo, ou seja, podem ser utilizadas para propsitos
didticos.

23
Figura 5: Tipos de padres de projeto de Ontologias [Gangemi, 2004].

3.3 Utilizando Padres de Projeto

Uma vez conhecido o significado de um ODP e seus benefcios, podemos, nesta seo,
apresentar os OPDs de contedo disponveis para consulta e utilizao no repositrio de
ODPs escolhido como base para este trabalho, no site
http://ontologydesignpatterns.org/.

Os ODPs aqui descritos sero trabalhados neste projeto em um prximo captulo.

24
Padro Person

Representao do padro no Protg

Descrio Exemplos de uso

Padro utilizado para representar pessoas no seu estado natural ou Funcionrio,


social. Considera o indivduo (Natural Person) como ser atuante seja Servidor,
ao representar um papel ou ao realizar uma tarefa (Social Person). A Contratado.
pessoa, nesse contexto equivale a um objeto (Object) atuando (Agent)
em um papel, uma tarefa especfica (Role) que pode ser descrita
(Concept).

Tabela 1: Padro Person

25
Padro ParticipantRole

Representao do padro no Protg

Descrio Exemplos de uso

Este padro tem como objetivo representar os participantes e o papel Cargo de Chefia
que desempenham (ParticipantRole) em um evento (Event) num dado
momento (Situation). Ele desconsidera qualquer aspecto relacionado ao
tempo na participao. Um evento qualquer processo fsico, social ou
mental, evento ou estado. Um objeto qualquer objeto fsico, social ou
mental, ou substncia. Um papel um conceito que classifica o objeto.
E esta classe uma situao que representa o papel de um objeto
especfico participando de um evento.

Tabela 2: Padro ParticipantRole

26
Padro TimeInterval

Representao do padro no Protg

Descrio Exemplos de uso

Padro utilizado quando o objetivo representar qualquer intervalo Ausncia (Frias,


temporal, com data de incio e data de fim, independente da Licena, ou Falta), e
existncia de qualquer evento. Frequncia Integral

Tabela 3:Padro TimeInterval

27
Padro Participation

Representao do padro no Protg

Descrio Exemplos de uso

Padro que representa a participao de um objeto em um evento. Pagamento.


Permite-nos, usando restries de cardinalidade, definir o nmero de
participantes de um evento. Um objeto qualquer objeto fsico, social
ou mental, ou substncia. E um evento qualquer processo fsico, social
ou mental, evento ou estado.

Tabela 4: Padro Participation

28
Padro Place

Representao do padro no Protg

Descrio Exemplos de uso

Padro utilizado para representar locais, lugares de coisas, exemplo: Um Dirio Oficial,
veculo de publicao. Referencia uma localizao, seja ela parcial, Boletim de
fsica, social ou metafrica. Servio.

Tabela 5: Padro Place

29
Padro Set

Representao do padro no Protg

Descrio Exemplos de uso

Padro de representao de conjuntos de coisas. Um conjunto uma Avaliao de


coleo que no pode conter elementos duplicados. Uma coleo Desempenho e o
representa o conceito de um conjunto de entidades (coisas) que conjunto de notas
compartilham uma ou mais propriedades.

Tabela 6: Padro Set

3.4 Criao de Padres de Projeto de Ontologias

Segundo Gangemi [2005], o primeiro passo para se trabalhar com ODPs dominar a
noo de "Casos de Uso Genricos", ou seja, como realizar a generalizao de casos de
uso que foram fornecidos como exemplos para uma questo de modelagem de domnio.

O objetivo de se trabalhar com casos de uso modelar uma expresso de um tema


recorrente em diferentes projetos, independentemente de qual linguagem lgica especial
foi adotada. Neste projeto o cenrio de testes ser trabalhado de duas maneiras, criando
os padres de projeto, e reutilizando padres j existentes.

O autor citou algumas perguntas frequentemente utilizadas para se modelar um projeto


de ontologia, que so as seguintes:

Quem faz o qu, quando e onde?

30
Que objetos participam de um determinado evento?

Quais so as partes de uma coisa?

Do que feito um objeto?

Qual o lugar de alguma coisa?

Qual o perodo de tempo de alguma coisa?

Qual a tcnica, o mtodo, a prtica est sendo usada?

Quais as tarefas devem ser executadas para atingir um determinado objetivo?

Este comportamento est em conformidade com uma determinada regra?

Qual a funo desse artefato?

Como construdo este objeto?

Qual a concepo de que o artefato?

Como esse fenmeno aconteceu?

Qual o seu papel nessa transao?

Sobre o que essa informao ? Como percebida?

Qual modelo de argumentao que voc est adotando para a negociao de um


acordo?

Qual o intervalo de confiana que voc d a este axioma?

No anexo deste trabalho esto alguns exemplos de casos de uso para o cenrio
modelado, demostrando algumas das questes as quais deveriam ser respondidas para
que fosse possvel a criao de casos de usos genricos podemos ver pela Tabela 7
como adaptar essas questes para casos de usos especficos, o que ser visto no Captulo
5, quando estivermos criando o nosso cenrio de testes.

31
Tabela 7: Modelando Casos de uso - Do Genrico ao Especfico [Gangemi e Presutti,
2009]

3.5 Repositrios de Padres de Ontologias

Como foi dito anteriormente, repositrios de padres de ontologias facilitam na


modelagem de um cenrio ajudando a manter a qualidade da ontologia que esta sendo
desenvolvida, uma vez que os padres disponveis para utilizao no repositrio foram
modelados por usurios de ontologias baseando-se em suas prprias experincias, ou
mesmo foram aprimorados pela comunidade, discutidos e eventualmente aprimorados
por seus membros.

Hashemi [2009] Aprofunda o conhecimento acerca dos repositrios de uma forma cujo
entendimento simplificado ao dizer que um repositrio de ontologias funciona como
um "mapa" das teorias conhecidas, enquanto Grninger [2010] se aprofunda nesse
cenrio ao representar o uso de ontologias dentro de um repositrio como uma relao
entre informaes semnticas, por ele chamadas de subteorias, e classifica as teorias
dentro do repositrio como mdulos.

Supondo que j existem os conceitos das ontologias em um determinado repositrio


podemos, a partir destes, construir novos modelos de teorias, ou seja, adaptar ou
instanciar os padres existentes para reutilizar a informao disponvel. No caso dos

32
repositrios de padres de ontologia a ideia a mesma: o repositrio de ODPs utilizado
neste trabalho fornece um catlogo de padres divididos de acordo com os possveis
tipos de padres, apresentando-os pelos seus nomes, objetivos, domnio e usurios.

33
4 Modelagem do cenrio trabalhado

Este captulo visa a criao do modelo conceitual de um cenrio real, como base para a
criao de um modelo ontolgico dos conceitos envolvidos no funcionamento de um
Departamento Pessoal de uma empresa pblica brasileira. Nesse estudo foi utilizado o
repositrio de padres de ontologias disponvel no site
www.ontologydesignpatterns.org. Os padres escolhidos para esta modelagem foram de
contedo. A escolha dos padres a serem instanciados requereu uma anlise minuciosa
da descrio, objetivos e domnio dos padres documentados no repositrio, e da sua
representao em OWL, que foi importada na ferramenta Protg para visualizao.
Esta anlise dos ODPs buscou avaliar a adequabilidade de cada um deles para
solucionar situaes especficas no cenrio modelado.

Para a modelagem de qualquer domnio, necessrio determinar a abrangncia


desejada. Neste trabalho, essa escolha foi feita por ser um cenrio o qual no possua
uma ontologia e cujo conhecimento era dominado pela autora deste trabalho.

Definido o escopo do cenrio, neste estudo de caso foram criadas duas ontologias que o
representassem: uma reutilizando os padres de projeto de ontologias existentes e a
outra sem a reutilizao de padres. A partir da, foi possvel comparar as ontologias
geradas quanto representao de cada conceito envolvido no cenrio, desde suas
caractersticas e atributos at mesmo a possibilidade de sugesto de melhorias aos
processos realizados.

4.1 Apresentao do cenrio modelado

O Departamento de pessoal HL composto por vrios setores organizados de acordo


com suas funes e destina-se a resolver as diversas situaes e solicitaes dos
funcionrios da mesma. Os funcionrios podem ser de dois tipos: Servidor (quando o
mesmo entra mediante a realizao de um concurso publico) e Contratado (quando o
funcionrio realiza um contrato junto ao rgo governamental que rege a empresa).
Todos os servidores possuem uma lotao em um departamento, e recebem um Salrio
Base.

34
A cada dia, registra-se a presena ou ausncia de um servidor ao trabalho na empresa
HL. Chama-se de Frequncia Integral a presena diria, no perodo de um ms do
servidor no Trabalho. Caso o servidor no tenha comparecido todos os dias, ele ter esta
ausncia registrada. Estas ausncias podem se classificadas como Frias (ms de
descanso aps o servidor completar um ano trabalhado), falta (ausncia injustificada por
um numero especifico de dias), ou licena (mdica por motivo de sade, etc...) de
diferentes prazos identificadas por um cdigo.

O salrio Base composto de um valor de salrio bruto e de gratificaes individuais de


cada servidor. Alm disso, o servidor tambm poder receber um valor adicional ao seu
salrio base, isto um auxlio. Dentre os auxlios existentes esto os referentes a sade,
transporte e alimentao oferecidos a todos os servidores, e os auxlios exclusivos para
casos especficos como auxilio natalidade e o auxlio pr-escolar, por exemplo, quando
os servidores tm filhos. O auxlio transporte tem um valor varivel de acordo com o
seu endereo e o regime de trabalho (planto ou diarista). O auxilio alimentao tem um
valor fixo para todos os servidores, independente do cargo. Outros auxlios disponveis
so o de adicional noturno, e dependendo do departamento que esteja alocado, auxlios
de insalubridade ou periculosidade, definidos de acordo com o local e as condies de
trabalho a que so submetidos, acordo com o laudo mdico realizado por um perito.

Alguns servidores da empresa HL podem receber uma determinada funo (por


exemplo, de chefia) em um determinado perodo, aps ser designado para esse cargo.

O servidor pode procurar o Departamento Pessoal para solicitar diferentes requisies,


sendo que algumas requisies podem gerar os auxlios j mencionados, e outras
requisies somente uma alterao nos dados cadastrados do servidor. Cada solicitao
de um servidor encaminhada a outro departamento da empresa (Protocolo), e se
tornar um processo. Um processo composto pela solicitao, os documentos
necessrios e uma resposta requisio. Ao ser finalizado, um processo gera uma
publicao, que poder ser feita em dois diferentes meios: Dirio Oficial ou Boletim de
servio. Cada processo arquivado na pasta cadastral do servidor.

Os servidores recebem, anualmente, avaliaes de desempenho, na qual lhe so


atribudos dois tipos de notas. Uma referente a uma auto avaliao, outra atribuda por

35
seu superior (ou por um deles quando o servidor possuir mais de uma chefia). Esta nota
gera um valor de gratificao a ser pago no salrio base do servidor.

O funcionrio contratado administrado por uma empresa externa, portanto no o


foco deste trabalho, embora seja mencionado neste modelo.

4.2 Modelagem do cenrio de testes

Utilizando a ferramenta Astah Community 6.7.0/43495, foi criada uma modelagem do


cenrio em UML baseando-se nesta descrio textual do cenrio proposto para anlise
(minimundo) estruturando o funcionamento do mesmo, ou seja, demonstrar atravs da
modelagem conceitual quais so as atividades envolvidas no Sistema e a maneira que
estas se relacionam, criando um modelo do seu estado atual, como pode ser observado
na Figura 6.

Figura 6: Modelagem do Cenrio de testes

36
4.3 Criao do cenrio sem utilizao de Padres de Projeto

Neste caso, foi utilizado o Software Protg para se criar a ontologia do cenrio a ser
estudado. Uma vez que nesta etapa no haver reutilizao de Padres pr-existentes, a
ontologia dever ser criada desde o incio com suas particularidades, como por exemplo,
as suas propriedades e relaes. Uma boa prtica seguir as regras mencionadas na
Seo 3.4 desde trabalho para criao do Modelo.

De acordo com essas boas prticas a primeira questo a ser respondida so as perguntas
de Quem faz o qu, quando e onde?. Pode-se definir a entidade Servidor e seus
relacionamentos e tarefas, uma vez que essa entidade o ponto de partida. J para tratar
Quais so as partes de uma coisa foram criadas as entidades que iram conceituar as
tarefas que se deseja representar, como por exemplo, as classes menos especficas de
conceitos mais gerais, at mesmo as classes mais especficas como os Tipos de Auxilio
ou os Tipos de Ausncia. No caso da entidade que trata a frequncia do Servidor,
verifica-se Qual o perodo de tempo. Ou seja, a cada pergunta dos casos genricos
respondidas, uma parte do cenrio de testes foi sendo moldada at que se chegasse
criao do todo.

A Figura 6 ilustrou a criao deste modelo, ou seja, das entidades que compe o Cenrio
de Testes. Neste modelo, por no haver uma base inicial para se criar o modelo, a
ontologia criada sem nenhum padro. Como mencionado anteriormente, necessria a
criao das propriedades de cada entidade tambm os relacionamentos da ontologia,
alm das instancias que se deseja criar, podendo definir as propriedades do objeto, ou
seja, as relaes entre as entidades, e as propriedades do arquivo, que so os atributos
destas entidades, como mostra na Figura 7. Tambm possvel definir anotaes, alm
de outras propriedades, como o Domnio ou classe de equivalncia (Descrio).

37
Figura 7: Janela DataProperty do Padro TimeInterval no Protg

4.4 Analise da modelagem sem uso de padres

Conclui-se que, ao se criar este modelo sem a utilizao de padres, embora a ideia
inicial fosse de simplicidade e expressividade por se criar um modelo independente de
padres pode-se notar justamente o oposto. Esta modelagem do cenrio sem utilizao
de padres de projeto de ontologia foi um primeiro teste de criao desta ontologia, e,
portanto foi possvel ver a dificuldade na definio de conceitos desenvolvidos, e na
escolha das propriedades de cada um desses conceitos. Tambm foi possvel verificar
que ao se criar um modelo desde o incio, sem usar padres, a dificuldade para fazer a
verificao em relao adequao do modelo ao cenrio proposto (foi modelado da
melhor forma possvel?), ou seja, a complexidade em se trabalhar com conceitos e
propriedades aumenta.

Em relao s linguagens pesquisadas para utilizao neste trabalho, foi visto, por
exemplo, que relaes genricas (sem domnio e imagem pr-definidos) em modelos
OWL no podem ser representadas em UML, da mesma forma, algumas propriedades
dos relacionamentos (equivalncia) tambm s esto explicitamente definidas na
linguagem OWL. Apesar disto, para a modelagem do cenrio deste trabalho essas
relaes no precisaram ser modeladas, e com isso a escolha de se utilizar a linguagem
UML se mostrou suficiente para representar os conceitos desejados.

38
Aps a modelagem do cenrio sem o conhecimento dos padres j existentes possvel
notar a dificuldade de se perceber a expressividade dos conceitos que devem ser
modelados, e a extenso dos mesmos (geraram uma informao nova, ou acrescentaram
dados informao que est sendo descrita?). Embora os conceitos paream "bvios"
ao se conhecer o minimundo, a grande expressividade permitida pelo uso de
ontologias mostra o quanto difcil domin-los, ou seja, como se cada conceito na
verdade desencadeasse vrios outros conceitos por trs dele que podem ser retratados
durante esta modelagem e muito difcil saber at qual ponto cada um destes conceitos
devem ser "aprofundados" para poder passar a ideia que se deseja.

Outra dificuldade encontrada esta na percepo do quanto um conceito independente


do outro, ou seja, em qual ponto um conceito que se deseja modelar na verdade
somente uma propriedade ou atributo daquele conceito ou se na verdade ele mais do
que isso, ele outro conceito que deva ser expandido para retratar uma tarefa deste
modelo. Ao se observar os padres existentes, muitas vezes possvel identificar essas
respostas, pois elas j foram modeladas nos padres j existentes.

Em resumo, a modelagem sem os padres, mas seguindo as melhores prticas sugeridas


no Captulo 3 do desenvolvimento de ontologias, se torna muito mais complexa por no
dispor de nenhuma estrutura base.

4.5 Criao do cenrio usando Padres de Ontologias

Nesta etapa do projeto sero propostas algumas instanciaes ao cenrio proposto


inicialmente utilizando os padres j descritos no Capitulo 3 deste documento. Os
padres considerados esto disponveis para consulta e utilizao no repositrio de
padres de projeto de ontologias escolhido como base para este trabalho, no site
http://ontologydesignpatterns.org/.

Nesta seo sero ilustrados os padres, mostrando, quando disponveis, o diagrama


padro, retirado do site do repositrio, a modelagem do conceito e como ele ficaria aps
a adaptao do padro.

Aps a anlise dos padres disponveis no repositrio para instanciao, o primeiro a


ser identificado para uso no cenrio modelado foi o padro Person, desenvolvido por

39
Aldo Gangemi, como ilustrado na Figura 8, uma vez que a entidade Funcionrio
utilizada para retratar pessoas fsicas, e este grupo pode ser decomposto por duas
subclasses de membros distintos, os funcionrios servidores, e os funcionrios
contratados.

Figura 8: Padres para as classes Funcionrio - Servidor Contratado

A Figura 9 mostra o uso do padro Person para definir que o funcionrio uma pessoa.
Uma pessoa, alm de ser um indivduo (pessoal Natural) tambm um funcionrio
(pessoa Social), ou seja, exerce um papel social. Este papel que ela exerce em uma
empresa o seu cargo e este pode ser conceituado, por ter caractersticas prprias.

Figura 9: Comparativo entre o padro Person e seu uso visto no Proteg

40
Ainda tratando da classe Servidor, podemos retratar a forma que um servidor pode
exercer uma funo, como por exemplo a funo de chefia. Neste caso usamos o padro
ParticipantRole, desenvolvido por Eva Blomqvist, para esta representao, como ilustra
a Figura 10.

Figura 10: Padres para as classes Funo Servidor

A Figura 11 mostra o uso do padro ParticipationRole para definir que o funcionrio


Servidor exerce um papel em um determinado evento. Esse papel, no Caso o cargo de
chefia, a funo que um servidor ir exercer desde sua nomeao at enquanto no for
nomeado outro funcionrio designado para o cargo.

41
Figura 11: Comparativo entre o padro ParticipantRole e seu uso visto no Proteg

Para a adaptao das classes que representam qual a frequncia mensal um servidor
pode receber, ou seja, se ele compareceu ao seu departamento todos os dias, ou se
faltou, ou se o mesmo encontrava-se em frias, ou em perodo de licena mdica a
melhor alternativa seria a utilizao do padro de intervalo de tempo (TimeInterval),
proposto por Valentina Presutti, uma vez que pode-se criar uma representao para os 3
tipos de ausncia um servidor pode possuir em um determinado perodo, que so os
conceitos de frias, de licena e de falta, alm da possibilidade do servidor ter sua
frequncia integral, como pode ser visto na Figura 12.

Figura 12: Padres para representar as ausncias de um servidor

A Figura 13 mostra essa aplicao do padro TimeInterval.

42
Figura 13: Comparativo entre o padro TimeInterval e seu uso no Protg

Para representar o pagamento recebido por um servidor, seja do seu salrio base, ou de
algum auxilio que o mesmo esteja recebendo, o padro Participation para mostrar como
o evento Pagamento gera o objeto vencimento.

Este padro ilustra a participao de um objeto em um evento como mostram as Figura


14 e 15.

43
Figura 14: Padro para representar o Pagamento ou Auxilio recebido pelo servidor

A classe processo tambm foi modelada usando este padro Participant, e, portanto s
foi representada no cenrio final.

Figura 15: Comparativo entre o padro Participation e seu uso no Protg

Todo servidor, em determinada poca (neste exemplo o evento abordado foi a Avaliao

44
de Desempenho) recebe um conjunto de diferentes notas, ou seja, o padro Event
usado para representar o evento Avaliao de Desempenho do qual uma coleo de
notas (padres Collecion e Set) atribuda a um servidor. A Figura 16 mostra como
adequar estes padres Event, Collection e Set, desenvolvidos por Eva Blomqvist neste
contexto.

Figura 16: Padro para as classes Servidor Notas

Todas as atividades ocorridas dentro de um Departamento Pessoal devem ser registradas


em um veculo de comunicao, e portanto cada uma destas atividades gera uma
publicao. Existem dois meios de comunicao usados para este fim, o Boletim de
Servio e o Dirio Oficial. Para representar a publicao deste processo ser usado
Padro Place, desenvolvido por Aldo Gangemi, como mostra a Figura 17.

45
Figura 17: Padro Place para definir os locais de Publicaes

Por fim, a Figura 18 ilustra o resultado final, com as devidas adaptaes, aps a
utilizao dos padres de projeto de ontologia.

46
Figura 18: Cenrio Proposto para o uso de Padres

4.6 Analise sobre o uso de padres de Ontologias

Aps recriar este cenrio utilizando os Padres possvel perceber os benefcios de se


utiliz-los. A introduo de novas classes aumentou a quantidade de informaes
disponveis, aumentando assim a semntica agregada ao modelo, o que pode ser visto na
modelagem da funo exercida pelo servidor, na qual foram acrescentadas as
informaes referentes designao de cargo e a explicitao da classe chefia. Os
padres tambm esclarecem os papis desempenhados por cada classe, como no caso do
servidor desempenhar um papel (role). Ao ocorrer o evento pagamento, o uso de
padres tambm explicitou a ideia de que existe um vencimento e este composto por
dois objetos: O salrio base e os auxlios. No s pela facilidade em entender a estrutura
base necessria ao projeto, simplificado o processo de ambientao do usurio ao
cenrio que ser modelado e assim pode-se elucidar possveis dvidas em relao
expressividade de determinados conceitos que se deseja abordar.

47
Outro fator que pode ser observado na modelagem com os padres de projeto est na
possibilidade de se recorrer s regras das boas prticas para utilizao de ontologias j
mencionadas para identificao de qual padro melhor se adequa a cada situao
durante a modelagem e adaptao da ontologia, por exemplo, para escolher o padro de
ontologia mais indicado, exemplo padro Place para responder Qual o lugar de
alguma coisa?.

Durante a realizao deste trabalho, foi possvel notar que ao se importar os padres
(disponveis no repositrio escolhido e j na modelados na linguagem OWL) com o
auxlio de uma ferramenta, o Protg, a anlise das classes, das relaes e dos atributos
j modelados pode fazer uso dos comentrios disponveis em cada padro, para facilitar
a escolha e esclarecer dvidas quanto ao uso dos padres,

A criao do modelo inicial atravs da linguagem UML, mais conhecida e utilizada para
modelagem, tambm foi um fator que facilitou a abordagem deste projeto. Uma vez que
os padres j so disponibilizados em OWL no repositrio online utilizado, foi mais
fcil reutilizar os mesmos ao adapt-los ao modelo criado.

A grande dificuldade neste projeto esteve em entender a representao dos padres de


Ontologia na linguagem OWL. No momento existe algum contedo terico sobre este
assunto, mas nenhum contedo prtico foi encontrado para ser utilizado ao iniciar esta
abordagem. Durante a fase de pesquisas deste projeto foi possvel notar a dificuldade
em se obter manuais ou trabalhos anteriores para criao e reutilizao de padres, ou
mesmo como se devem representar estes padres, por exemplo, trabalhos anteriores de
adaptao dos ODPs a cenrios pr-existentes. Segundo o Trabalho de Eva Blomqvist
[2009], para se utilizar os conceitos dos padres em um modelo devem ser utilizadas
subclasses, porm o assunto no aprofundado, ou seja, nenhum trabalho faz referncia
de como se deve representar graficamente o uso de padres de ontologia para a
modelagem de um cenrio especfico.

Em relao utilizao de repositrios, a dificuldade esteve em se importar os padres


diretamente para o Software escolhido. Nenhuma ferramenta que fizesse essa ligao
entre o repositrio e o software de criao de ontologias foi encontrada.

Outra dificuldade foi escolher qual o melhor padro, uma vez que um conceito pode ser

48
representado por mais de um padro, pois no existe uma regra para essa escolha.

49
5 Concluso e Trabalhos Futuros

Neste trabalho foi possvel verificar quais as vantagens obtidas ao se modelar um


sistema utilizando padres de projeto de ontologia, disponveis para reutilizao em
repositrios prprios para isso. Foi utilizado o site www.ontologydesignpatterns.org
para buscar os padres criados pela comunidade dos desenvolvedores de ontologias, e
baseado em suas prprias experincias anteriores, que melhor se encaixariam ao cenrio
estudado.

A ideia deste trabalho foi criar uma documentao contendo informaes sobre o
cenrio estudado atravs da modelagem conceitual dos dados que so relevantes em um
Departamento Pessoal. Essa modelagem foi realizada de acordo com as melhores
prticas de desenvolvimento de uma ontologia

O primeiro passo escolhido para esse trabalho foi criar um modelo UML do cenrio. Ao
se criar esse modelo foi possvel ter uma noo do que seria necessrio tratar
inicialmente (qual seria a abrangncia do modelo), ou seja, criar uma estrutura-base. Ao
iniciar a modelagem atravs dos padres de projeto de ontologia, problemas foram
identificados e tratados para que a adaptao pudesse ser possvel da seguinte forma:
Verificou-se a necessidade de criao de novas classes para se abordar as tarefas
desenvolvidas, ou mais bem defini-las, alm da adaptao de outras para que seja
possvel representar melhor as diversas situaes envolvidas no cenrio, como por
exemplo, para modelar a classe inicialmente chamada de funo. Na modelagem sem a
utilizao dos padres, percebeu-se a necessidade de criar o conceito geral (um servidor
possui uma funo). Essa ideia, para o leitor que no conhece o cenrio modelado no
explica muita coisa, mas, ao se modelar usando os padres foi possvel acrescentar mais
informaes como, por exemplo, que essa funo um papel que o servidor exerce a
partir de um determinado evento.

Assim, possvel perceber que a utilizao de padres de projetos de ontologias


facilitou a garantia de uma maior qualidade e expressividade da ontologia desejada.
Tambm foi possvel mostrar como possvel prevenir erros estruturais e confuses
iniciais da ideia que se deseja passar com o modelo criado. Ao se utilizar um padro
genrico voc pode se familiarizar melhor com o cenrio que ser tratado e com quais

50
as melhores solues para o modelo desejado. Ainda que os modelos sejam genricos
eles permitem montar uma boa estrutura para o projeto, uma vez que os conceitos de
cada padro esto mais bem definidos.

Quando o objetivo a criao de um modelo o mais fiel possvel ao cenrio desejado,


uma combinao entre a utilizao de padres e a adaptao de modelos de padres a
melhor soluo. possvel usar os padres para modelar a ideia inicial do projeto, ou
seja, a estrutura do mesmo. Caso no exista um padro que se adapte a determinada
ontologia e que deva ser representada no projeto ela pode ser adaptada posteriormente,
como visto por Blomqvist [2009] que menciona que os padres podem ser utilizados
como modelos, ou solues parciais para propor o incio de uma soluo para o
problema em questo. Uma vez que a base do modelo esta pronta, e assim o usurio do
projeto j est mais familiarizado com a estrutura, ser mais fcil aperfeio-la e/ou
increment-la.

E, se por um lado, essas so as vantagens de quando se utiliza os padres disponveis


em um repositrio, por outro podemos mencionar as vantagens de se "abastecer" um
repositrio.

Ao se disponibilizar padres, pode se contribuir com suas prprias experincias de


projeto, tornando o repositrio mais rico em informaes a disposio de usurios.

Um exemplo disto so os repositrios de domnios especficos, que contam com


diversas ontologias disponveis para acesso online, o que garante um acervo maior de
ontologias para consulta no momento da criao de um modelo deste domnio
especfico.

Inclusive, importante mencionar que se verificou essa dificuldade neste trabalho, uma
vez que o repositrio utilizado contava com uma mdia de 100 padres de ontologia
disponveis para uso, ou seja, muitos dos conceitos necessrios ao modelo no estavam
acessveis no conjunto de padres existentes no repositrio.

O repositrio utilizado neste projeto conta, atualmente, com diferentes colaboradores


cadastrados que podem submeter padres, assim como sugerir alteraes, alm de

51
participar como uma comunidade voltada a assuntos referentes a padres de ontologias
no site do repositrio online.

Este trabalho deixa como proposta para um futuro trabalho a implementao do cenrio
utilizado em uma ferramenta prpria a linguagem OWL com todos os seus padres de
maneira otimizada como mostra o trabalho Lantow et al. [2013].

Outra proposta deixada por este trabalho um comparativo entre os repositrios de


padres de ontologias existentes, analisando suas vantagens e desvantagens, por
exemplo, referentes interface de usurio, domnios abrangidos pelo repositrio, e
participao dos usurios.

H tambm a ideia de se trabalhar com uma modelagem modularizada, ou seja,


aumentando/diminuindo o nvel de abstrao dos conceitos envolvidos no modelo,
como por exemplo, para representar o pagamento de um auxilio como uma atividade
desencadeada pela abertura de um processo. Assim, detalhando a ontologia criada para
aumentar a expressividade a cada camada, a abrangncia do domnio seria maior e mais
precisa, de acordo com o domnio individual de cada tarefa abordada, analisando seus
requisitos, como sugerido no trabalho de Lantow et al. [2013].

52
Referncias Bibliogrficas

Aranguren, M. Ontology Design Patterns for the Formalisation of Biological


Ontologies, Report for the degree of Master of Philosophy in the Faculty of
Engineering and Physical Sciences, 2005.
Azevedo, L.; Lopes, M.; Souza, J.; Siqueira, S.; Cappelli, C. ; Baio, F. 2008 Uma
Metodologia de Avaliao de Ferramentas para Gesto de Ontologias Disponvel
em http://www.uff.br/ontologia/artigos/210.pdf .
Azevedo, L.; Lopes, M.; Souza, J.; Siqueira, S.; Cappelli, C. ; Baio, F. ; Santoro, F.;
Nunes, V. ; Magdaleno, A. 2008 Gesto de Ontologias. Disponvel em
https://www.academia.edu/2891136/0002_2008-Gestao_de_Ontologias
Ceci, F.; Um Modelo Semiautomtico Para A Construo E Manuteno De
Ontologias A Partir De Bases De Documentos No Estruturados, 2010
Egaa, M.; Rector, A.; R Stevens, R.; Antezana, E. Applying Ontology Design
Patterns in Bio-ontologies, 2008.
Blomqvist, Eva. Semi-automatic ontology construction based on patterns. 2009.
Gangemi, A.; Presutti, V. Ontology Design Patterns. Handbook on Ontologies (Second
Edition). 2004.
Gangemi, A.; Presutti, V.; Pattern-based ontology design, Apresentao no Semantic
Technology Lab, 2009
Gangemi, A. Ontology Design Patterns for Semantic Web Content, In The Semantic
WebISWC 2005 (pp. 262-276). Springer Berlin Heidelberg. 2005.
Gangemi, A; Gomez-Perez, A.; Presutti, V. e M.C Suarez-Figueroa. Towards a Catalog
of OWL-based Ontology Design Patterns. CAEPIA 2007
Grigoris A.; Harmelen F.; Web Ontology Language: OWL. Handbook on Ontologies
(Second Edition). 2004.
Gruber, T.; A Translation Approach to Portable Ontology Specifications, Technical
Report, 1993.
Grninger, M.; Hahmann, T.; Hashemi, A.; Ong, D. Ontology Verification with
Repositories, 2010.
Grninger, M.; Hahmann, T.; Hashemi, A.; Ong, D. e Ozgovde, A. Modular first-order
ontologies via repositories, Applied Ontology, 7:169-210, 2012

53
Guarino, N.; Oberle, D.; Steffen Staab, S. What Is an Ontology? Handbook on
Ontologies (Second Edition). 2004.
Guedes, A. Um Framework de Padres de Projeto, 2013.
Hashemi, A.; Gruninger, M. Ontology Design Through Modular Repositories, 2009.
Morais, E, Ambrsio, A.; Ontologias: conceitos, usos, tipos, metodologias,
ferramentas e linguagens, Technical Report, 2007.
Mortensen, J.; Horridge, M.; Musen, M.; Noy, N. Modest Use of Ontology Design
Patterns in a Repository of Biomedical Ontologies, 2012.
Presutti, et al.: A Library of Ontology Design Patterns: Reusable Solutions for
Collaborative Design of Networked Ontologies. NeOn D2.5.1. 2008.
Bhogal, Jagdev; Macfarlane, Andy; Smith, Peter. A review of ontology based query
expansion. Information processing & management, v. 43, n. 4, p. 866-886, 2007. Apud
Santos, V. Uma Arquitetura Suportada Por Busca Semntica Para Recuperao De
Fontes De Informao Em Repositrios De Metadados, 2011.Santos, V. Uma
Arquitetura Suportada Por Busca Semntica Para Recuperao De Fontes De
Informao Em Repositrios De Metadados, 2011
Staab ,S.; Studer ,R. Handbook on Ontologies, Second Edition. 2004.
Fensel, Dieter et al. Ontologies and electronic commerce. Intelligent Systems, IEEE,
v. 16, n. 1, p. 8-14, 200 apud Sell, Denilson et al. Uma arquitetura para business
intelligence baseada em tecnologias semnticas para suporte a aplicaes
analticas. 2006.
Gomez-Perez, Asuncion; Fernndez-Lpez, Mariano; Corcho, Oscar. Ontological
engineering. Heidelberg: Springer, 2004. Apud Sell, Denilson et al. Uma arquitetura
para business intelligence baseada em tecnologias semnticas para suporte a
aplicaes analticas. 2006. Sell, D.; Uma Arquitetura Para Business Intelligence
Baseada Em Tecnologias Semnticas Para Suporte A Aplicaes Analticas, 2006.
Tese (doutorado)
Gangemi, A.; Gmez-Prez, A.; Presutti, V.; Surez-Fiqueroa, M.; Towards a catalogo
of OWL-Based Ontology Design Patterns. 2007. Disponvel em
http://oa.upm.es/5212/1/Towards_a_Catalog_of_OWL-
based_Ontology_Design_Patterns.pdf
Daltio, J.; Medeiros, C. Aond: Um Servio Web de Ontologias para
Interoperabilidade em Sistemas de Biodiversidade. 2008. Anais do XXVIII
Congresso da SBC.

54
Mendona, F.; Cardoso, A.; Drumond, E.; Ontologia de aplicao no domnio de
mortalidade: uma ferramenta de apoio para o preenchimento da declarao de bitos.
2010. Cincia da Informao, 2011, vol. 39, n. 3, pp. 23-34. [Artigo de Revista]
Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J.; Design Patterns: Elements of
Reusable Object-Oriented Software, 1997.
Martins, M.; Librelotto, G.; Comparando As Linguagens Para Representao De
Ontologies. 2007. Em Disc. Scientia. Srie: Cincias Naturais e Tecnolgicas, S. Maria,
v. 8, n. 1, p. 119-130, 2007
Lantow, Birger; Sandkuhl, Kurt; Tarasov, Vladimir. Selecting Content Ontology
Design Patterns for Ontology Quality Improvement. on Logi ogies in, p. 68, 2013.
Vieira, R. et al. Web semntica: ontologias, lgica de descrio e inferncia. Web e
Multimidia: desafios e solues. Porto Alegre: SBC, p. 127-167, 2005.
Engiel, P; Arajo, R; Cappelli, C. 0016/2011-Apresentao de modelos de processos
pblicosuma discusso sobre abordagens de representao de processos. RelaTe-
DIA, v. 5, n. 1, 2011.
Cranefield, S; Purvis, M. UML as an ontology modelling language. 1999.
Moody, D.; Shanks, G. Improving the quality of data models: empirical validation
of a quality management framework.Information systems, v. 28, n. 6, p. 619-650,
2003.
Castro, L.; Baio, F; Guizzardi, G. Abordagem Lingustica para a Modelagem
Conceitual de Dados com Foco Semntico. 2010. Tese de Doutorado. MSc
Dissertation, Unirio, Rio de Janeiro.

55
Anexo Diagrama de casos de uso

56