MÁRCIA LÍLIAN SANDRI. Análise Comparativa entre o Modelo OOHDM e Ontologias a partir de uma Aplicação Baseada em Material Didático



Documentos relacionados
3 OOHDM e SHDM 3.1. OOHDM

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

2 Diagrama de Caso de Uso

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Ajuda ao SciEn-Produção O Artigo Científico da Pesquisa Experimental

Especificação do 3º Trabalho

UML Aspectos de projetos em Diagramas de classes

PROJETO DE REDES

PROPOSTA DE UM MODELO DE SISTEMA HIPERMÍDIA PARA APRESENTAÇÃO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

Semântica para Sharepoint. Busca semântica utilizando ontologias

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Orientação a Objetos

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Engenharia de Software III

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Wilson Moraes Góes. Novatec

UFG - Instituto de Informática

ENGENHARIA DE SOFTWARE I

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conceitos de Banco de Dados

Sistemas de Informação I

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Ontologias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

A Linguagem de Modelagem Unificada (UML)

UML - Unified Modeling Language

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Governança de TI. ITIL v.2&3. parte 1

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

2 Geração Dinâmica de Conteúdo e Templates de Composição

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

MODELAGEM DE CASOS DE USO PARA UM SISTEMA DE CLÍNICA VETERINÁRIA

Módulo 4: Gerenciamento de Dados

Entendendo como funciona o NAT

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Modelagemde Software Orientadaa Objetos com UML

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

ADM041 / EPR806 Sistemas de Informação

Engenharia de Requisitos Estudo de Caso

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

UML: Diagrama de Casos de Uso, Diagrama de Classes

Sistema de Controle de Solicitação de Desenvolvimento

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Análise e Projeto Orientados por Objetos

Manual Portal Ambipar

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

1

Gerenciamento de Riscos do Projeto Eventos Adversos

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Recomendada. A coleção apresenta eficiência e adequação. Ciências adequados a cada faixa etária, além de

Sumário. Uma visão mais clara da UML

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

Noções de. Microsoft SQL Server. Microsoft SQL Server

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Estrutura do Trabalho: Fazer um resumo descrevendo o que será visto em cada capítulo do trabalho.

A PÁGINA DISCIPLINAR DE MATEMÁTICA DO PORTAL DIA A DIA EDUCAÇÃO

Fase 1: Engenharia de Produto

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

O modelo unificado de processo. O Rational Unified Process, RUP.

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Manual SAGe Versão 1.2 (a partir da versão )

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

SUGESTÕES PARA ARTICULAÇÃO ENTRE O MESTRADO EM DIREITO E A GRADUAÇÃO

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Utilizando a ferramenta de criação de aulas

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

PADRÕES PARA O DESENVOLVIMENTO NA WEB

Manual Geral do OASIS

ONTOLOGIA DE DOMÍNIO PARA ANÁLISE DE BLOGS

Existem 109 questões nesta pesquisa

Ajuda On-line - Sistema de Portaria. Versão 4.8.J

02 - Usando o SiteMaster - Informações importantes

Rational Requirements Composer Treinamento aos Analistas de Qualidade e Gestor das Áreas de Projeto

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

MODELO CMM MATURIDADE DE SOFTWARE

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Transcrição:

MÁRCIA LÍLIAN SANDRI Análise Comparativa entre o Modelo OOHDM e Ontologias a partir de uma Aplicação Baseada em Material Didático Palmas - TO 2005

MÁRCIA LÍLIAN SANDRI Análise Comparativa entre o Modelo OOHDM e Ontologias a partir de uma Aplicação Baseada em Material Didático Trabalho de Estágio apresentado como requisito parcial da disciplina Prática de Sistemas de Informação I do curso de Sistemas de Informação, orientado pelo Prof. M.Sc. Fabiano Fagundes. Palmas - TO 2005

MÁRCIA LÍLIAN SANDRI Análise Comparativa entre o Modelo OOHDM e Ontologias a partir de uma Aplicação Baseada em Material Didático Trabalho de Estágio apresentado como requisito parcial da disciplina Prática de Sistemas de Informação I do curso de Sistemas de Informação, orientado pelo Prof. M.Sc. Fabiano Fagundes. BANCA EXAMINADORA Prof. M.Sc. Fabiano Fagundes Centro Universitário Luterano de Palmas Profª. M.Sc. Parcilene Fernandes de Brito Centro Universitário Luterano de Palmas Profª. Dra. Thereza Patrícia Padilha Centro Universitário Luterano de Palmas Palmas - TO Julho - 2005

AGRADECIMENTOS A conclusão deste trabalho me faz reconhecer e querer agradecer a muitas pessoas que me ajudaram, das mais diversas formas, no decorrer desta etapa. A Deus. Ao Mestre dos Mestres, que me deu forças para chegar ao fim do caminho e peço que esteja sempre presente. Aos meus familiares. A suprema coragem da vida é sorrir, quando se tem vontade de chorar. Foram tantos momentos em que vocês me ajudaram a sorrir e a continuar... Muito obrigada a vocês que enriqueceram minha mente, enchendo-a de carinho e ternura para prosseguir essa jornada, pois minhas vitórias também são suas, por estarem marcadas pelo estímulo dos seus amores. Por mais belas as palavras que utilize jamais poderei expressar o meu amor, admiração e gratidão por vocês que me ajudaram a ser o que sou e me ensinaram a viver. Ao meu noivo. Meu amor... Meu amigo... Meu psicólogo... Por todas as vezes que pensei em desistir e que você me encorajou a continuar. Por todos os momentos de angústia e sofrimento em que ficastes ao meu lado, segurando minha mão e enxugando minhas lágrimas. Obrigada por todas as palavras de incentivo, pela paciência e carinho que me dedicou em todos os momentos. A todos os meus amigos pelo apoio e torcida para que o trabalho fosse concluído. As minhas SMA s Helena, Tatiana, Katia, Karoline, obrigada pelos bons momentos que passamos juntas e pelo incentivo. Aos demais amigos da faculdade que me ajudaram no decorrer do curso e durante a correria e sufoco desses últimos dias. Aos professores que participaram da minha formação e que sempre estiveram disponíveis para esclarecimentos e que me induziram a pensar sobre seus ensinamentos. Agradeço em especial ao meu orientador Fabiano Fagundes, que manteve a calma durante o meu desespero, pela paciência e apoio que dedicou para que esse trabalho fosse concluído. Meu carinho, admiração, respeito e gratidão a vocês!

SUMÁRIO 1 INTRODUÇÃO...12 2. REVISÃO DE LITERATURA...15 2.1 Web Semântica...15 2.2 Ontologias...19 2.2.1 Conceitos...20 2.2.2 Componentes...22 2.2.2.1 Axiomas...23 3. Object - Oriented Hypermedia Design Method - OOHDM...24 3.1 Conceitos...24 3.2 Modelo Conceitual...27 3.3 Modelo Navegacional...30 3.3.1 Classes Navegacionais...31 3.3.2 Contextos Navegacionais...33 3.4. Diferença entre os modelos conceitual e navegacional...36 4 MATERIAIS E MÉTODOS...38 4.1 Metodologia...38 4.2 Material...39 4.3 Local e Período...39 5 RESULTADOS E DISCUSSÃO...40 5.1 Modelo Conceitual OOHDM - Material Didático...40 5.2 Modelo Navegacional OOHDM - Material Didático...42 5.2.1 Classes Navegacionais...43 5.2.2 Contexto Navegacional...44 5.3 Representação do domínio em Ontologia...46 5.4 Representação das Classes em OOHDM e Ontologia...53 6 CONSIDERAÇÕES FINAIS...56 7. REFERÊNCIAS BIBLIOGRÁFICAS...58 ANEXOS...62 Anexo 1. Representação do Domínio Material Didático em OWL...63

LISTA DE FIGURAS Figura 1. Arquitetura proposta para Web Semântica... 18 Figura 2. Formalização de equivalência entre os termos conceito e definição...23 Figura 3. Formalização de equivalência entre os termos avaliação e prova... 24 Figura 4: Atributo com múltiplas perspectivas. [RINCON, 2004]...28 Figura 5. Exemplo de Generalização... 28 Figura 6. Exemplo de Modelo Conceitual... 29 Figura 7. Exemplo de Classes Navegacionais... 31 Figura 8. Exemplo de Nó... 32 Figura 9. Exemplo de Elo entre dois Nós... 33 Figura 10. Elementos Gráficos do Esquema Contextual [ROSSI, 1996]... 34 Figura 11. Exemplo de Contexto Navegacional... 36 Figura 12. Modelo Conceitual OOHDM de Material Didático... 41 Figura 13. Modelo Navegacional de Material Didático - Classes Navegacionais... 43 Figura 14. Modelo Navegacional de Material Didático - Contexto Navegacional... 45 Figura 15. Representação de Material Didático para a ontologia... 48 Figura 16. Criação de axiomas de Material Didático para a ontologia... 49 Figura 17. Axioma de equivalência em OWL... 50 Figura 18. Representação do axioma para possuireferencia... 50 Figura 19. Criação de instância para a classe Ref.Bibliográfica... 51 Figura 20. Instância da classe Ref.Bibliográfica... 51 Figura 21. Interface de consulta... 52 Figura 22. Classe Exemplo - Modelo Conceitual... 53 Figura 23. Classe Exemplo - Classe Navegacional... 54 Figura 24. Classe Exemplo Axioma da Ontologia... 54

LISTA DE TABELAS Tabela 1. Metodologia dos Processos OOHDM [ROSSI, 1996]... 24 Tabela 2. Termos do Domínio Material Didático... 46 Tabela 3. Dicionário de Termos do Domínio Material Didático... 47

LISTA DE ANEXOS Anexo 1. Representação do Domínio Material Didático em OWL...62

LISTA DE ABREVIATURAS NCM (Nested Context Model) OOHDM (Object - Oriented Hypermedia Design Method) OWL (Web Ontology Language) RDF (Resource Description Framework) URI (Universal Resource Identifier) SHDM (Semantic Hypermedia Design Method) UML (Unified Modeling Language) WWW (World Wide Web) W3C (World Wide Web Consortium) XML (extensible Markup Language)

RESUMO Neste trabalho serão apresentadas definições sobre Web Semântica, Ontologia e modelo OOHDM, descrevendo especialmente os modelos conceitual e navegacional, exemplificando através da modelagem de um hiperdocumento de Material Didático. A partir desse estudo, será feita uma análise de alguns axiomas da ontologia criados para esse domínio, para verificar a possibilidade de utilizá-los na construção de regras que possibilitem a tradução automática dos mesmos em modelos navegacionais, importantes para o desenvolvimento de aplicações para Internet. Palavras Chave: Web Semântica, Ontologia, OOHDM, Material Didático, OWL.

ABSTRACT In this work definitions will be presented on Semantic Web, Ontology e model OOHDM describing the models especially conceptual and navigational, developing a example through the modeling of a hyperdocuments of Didactic Content. To leave of this study, an analysis of some axioms of the ontology created for this domain will be made, to verify the possibility to use them in the construction of rules that make possible the automatic translation of the same ones in navigational models, important for the development of applications for Internet. Keywords: Semantic Web, Ontology, OHDM, Didactic Content, OWL.

12 1 INTRODUÇÃO O advento da internet trouxe consigo uma nova forma de disponibilização das informações, proporcionando uma forma de navegação e leitura mais dinâmica. O usuário pode definir, de acordo com seu desejo, a forma de ler o conteúdo de um documento, pois deixa de existir uma única forma de leitura. As leituras dinâmicas e não lineares são características comuns aos hipertextos. O hipertexto é um documento digital composto por diferentes informações interconectadas [LEÃO, 1999]. Uma das principais características do hipertexto é a sua capacidade de ligação entre as informações, que é feita através de elos associativos chamados de links, que permitem que o usuário avance em sua leitura na ordem que desejar. Quando se pensa em um conjunto de textos aninhados em um mesmo documento tem-se um hiperdocumento, que permite a navegação entre as outras partes do mesmo documento ou ir para outros hiperdocumentos relacionados. Além dos hipertextos e hiperdocumentos, a internet oferece vários recursos multimídia, ou seja, a disponibilização de recursos como som, imagens, vídeos e textos em uma mesma tecnologia ou aplicação. Quando ocorre a utilização desses dois recursos numa mesma tecnologia caracteriza-se a hipermídia. Uma das características de uma hipermídia é a possibilidade de estabelecer conexões entre diversas mídias e documentos diferentes. O leitor possui uma postura ativa, estabelecendo seus próprios caminhos e relações, pois o poder de leitura em um documento hipermídia é ampliado com a agregação de várias informações correlacionadas com o tema da aplicação.

13 Com essa crescente utilização de sistemas multimídia surgiu a necessidade de se modelar a navegação dos usuários no sistema de forma que ele alcance o seu objetivo de maneira clara, concisa e eficiente. Devido a essa necessidade, é evidente o aumento na utilização e aperfeiçoamento de métodos para a modelagem como o OOHDM (Object-Oriented Hypermedia Design Method), o NCM (Nested Context Model) e o SHDM (Semantic Hypermedia Design Method). O desenvolvimento de um hiperdocumento para Material Didático vem sendo objeto de estudo em trabalhos anteriores com o propósito de construir um modelo que poderá ser utilizado por estudantes de diversas instituições de ensino, e que poderá ser incrementada constantemente de acordo com a necessidade dos usuários. Neste estudo será utilizado o modelo OOHDM para a definição de uma modelagem navegacional de um hiperdocumento para Material Didático, objetivando buscar uma relação desse contexto com a Web Semântica, dada a existência do modelo SHDM, desenvolvido por [LIMA, 2003], baseado no modelo OOHDM tendo sua estrutura voltada para modelar aplicações para a Web Semântica. Na Web Semântica é dada grande importância ao processo de localização de recursos úteis e desejáveis, através de uma busca organizada [LIMA, 2003]. Porém, não basta apenas encontrar o documento adequado, mas também tentar prever as ações possíveis desse usuário e a partir disso imaginar quais as tarefas que serão executadas, se ocorrerá navegação nesse arquivo ou para outros documentos semelhantes. Visando oferecer mecanismos automáticos de apoio a construção deste contexto, deseja-se verificar a viabilidade de se desenvolver projetos navegacionais a partir de documentos representados através de ontologias, utilizando como base seus axiomas. De forma geral, as ontologias constituem um modelo de representação que suporta a especificação de um domínio, descrevendo os termos que serão utilizados para representar uma área de conhecimento. A proposta deste trabalho está na verificação da possibilidade de, a partir dos axiomas de uma ontologia, realizar a modelagem navegacional de informações armazenadas sob as mesmas. Assim, este trabalho estrutura-se da seguinte forma: No capítulo 2 (dois) são descritos brevemente os principais fundamentos da Web Semântica incluindo sua arquitetura e alguns conceitos. São abordados ainda, os

14 conceitos acerca de ontologias e seus componentes, em especial os axiomas. No capítulo 3 (três) é feito um resumo do método OOHDM e suas atividades, destacandose as etapas do Modelo Conceitual e do Modelo Navegacional. A metodologia utilizada para desenvolver este trabalho é descrita no capítulo 4 (quatro). No capítulo 5 (cinco) são descritos os resultados e discussões sobre os estudos realizados e os conhecimentos adquiridos durante a parte prática que envolve este trabalho. Por último, no capítulo 6 (seis), comenta-se sobre as conclusões obtidas com esta pesquisa e indica algumas opções de trabalhos que podem vir a ser desenvolvidos a partir deste estudo.

15 2. REVISÃO DE LITERATURA Para o desenvolvimento deste trabalho, foram realizadas pesquisas e estudos sobre Web Semântica, ontologias e OOHDM (Object - Oriented Hypermedia Design Method) a fim de fornecer embasamento teórico sobre os mesmos. Esses estudos estão disponibilizados nas seções seguintes. 2.1 Web Semântica A Web Semântica representa a evolução da Web atual [BERNERS-LEE, 2001]. Nesta nova web os conteúdos disponibilizados na web atual serão acrescidos de semântica, dando a eles uma definição e a partir disso, proporcionando conexão entre esses dados. A Web Semântica visa a compreensão pela própria máquina das informações contidas na Web, função realizada atualmente pelo usuário, que escolhe e define o que de fato lhe interessa [LUSTOSA, 2003]. Assim, as buscas realizadas na internet retornarão resultados mais precisos, sem haver a necessidade do usuário selecionar, dentre várias páginas, aquela que realmente possui as informações que ele necessita. Enquanto a web tradicional foi desenvolvida para ser entendida apenas pelos usuários, a Web Semântica está sendo projetada para ser compreendida pelas máquinas, na forma de agentes computacionais, que são capazes de operar eficientemente sobre as informações, podendo entender seus significados. Desta

16 maneira, elas irão auxiliar os usuários em operações na web. [DZIEKANIAK, 2004]. Partindo desse conceito, a Web Semântica visa dar significado semântico aos conteúdos da web, criando estruturas e um ambiente onde os agentes de software 1 poderão trabalhar de forma cooperativa para interpretar e compreender as informações que estão disponibilizadas, sendo possível representar associações entre dados que inicialmente poderiam não estar relacionadas. Nesse ponto da evolução da web, os dados estarão disponíveis com seus metadados, que são "a informação sobre a informação", com o intuito de proporcionar aos usuários e aos computadores a possibilidade de encontrar e processar recursos realmente desejados. Com a utilização dos metadados é possível melhor definir semanticamente as informações, promovendo a recuperação de dados com maior precisão e qualidade uma vez que os metadados abrangem informações que identificam, descrevem e estruturam os recursos. Essas informações pré-definidas são cruciais durante o processo de busca dos recursos, pois identificam os recursos de acordo com o contexto da busca e assim a localização do recurso desejado torna-se mais eficaz. Porém, atribuir dados identificadores a todos os recursos disponíveis na web é um processo que demanda tempo, por este motivo a produção dos metadados tende a ser um processo automático a fim de poder cobrir os recursos que estão na web de forma ágil e eficaz. Segundo [DZIEKANIAK, 2004], é preciso ressaltar que a semântica não está apenas relacionada com os conteúdos de um recurso, mas à forma de relacionamento desse recurso com os demais dispostos na web, sendo essencial que estes recursos sejam expressivos o suficiente para que agentes e máquinas possam processar e entender o real significado do dado, intermediando o acesso do usuário às fontes de informações disponíveis. A Web Semântica objetiva organizar e estruturar as informações que se encontram soltas na internet. Porém, esta tarefa é bastante complexa, necessitando de 1 Neste trabalho definiu-se que os termos agentes computacionais, agentes especialistas, agentes de software e agentes inteligentes possuem o mesmo significado.

17 agentes especialistas que percorram toda a rede executando essa tarefa, página a página, identificando o significado dos dados e as relações lógicas com outros dados. Para os computadores entenderem o conteúdo da web é necessário que eles consigam ler dados estruturados e tenham acesso a conjuntos de regras que o ajudem a conduzir seus raciocínios. As páginas web terão de ser escritas numa linguagem nova e serem entendidas por diferentes sistemas [DZIEKANIAK, 2004]. O conjunto de regras necessárias para a compreensão das informações pelas máquinas será fornecido através das ontologias. Com a utilização de ontologias será possível criar uma rede do conhecimento que servirá para melhorar o processamento da máquina e o nível de serviços na web. Para o desenvolvimento das páginas para a Web Semântica existem tecnologias como o XML e o RDF que estão na lista de recomendações da W3C. O extensible Markup Language (XML) é uma linguagem de marcação projetada para a criação de documentos web, contribuindo para a interoperabilidade entre os diferentes dados na web [XML, 2003]. Com o XML é possível ao usuário criar tags personalizadas que contenham informações sobre os documentos criados, podendo-se associar atributos aos elementos. O Resource Description Framework (RDF), por sua vez, fornece uma arquitetura para o processamento e intercâmbio dos metadados, sendo possível especificar o relacionamento entre classes fornecendo interoperabilidade estrutural [RDF, 2000]. No RDF, trabalha-se com três informações distintas <recursos, propriedades e declaração> que expressam o significado das informações. Um recurso é o que será descrito por uma expressão RDF e sempre é identificado por um URI (Universal Resource Identifier) que é um identificador de recursos universal [BERNERS- LEE, 2001]. Uma propriedade é qualquer característica utilizada para descrever um recurso ou os relacionamentos existentes entre recursos [RDF, 2000]. A declaração corresponde a uma propriedade ou um valor dessa propriedade associada a um recurso específico e é dividida em três partes: sujeito, predicado e objeto [RDF, 2000] A arquitetura proposta para a Web Semântica é composta por três camadas: camada de estrutura, camada de esquema e camada lógica, como pode ser observada na Figura 1.

18 Figura 1. Arquitetura Proposta para Web Semântica [BERNERS-LEE, 2001 apud LUSTOSA, 2003]. A primeira camada, camada de estrutura, é o nível mais baixo da arquitetura e faz a representação do conhecimento. Nela se realiza a estruturação e a definição dos dados através da especificação dos significados. Esta camada representa o primeiro passo para a definição da Web Semântica [BERNERS-LEE, 2001]. Na camada de esquema tem-se a ontologia, que define um conjunto de regras que determina os relacionamentos, as hierarquias e as restrições quanto a implementação do domínio, independentemente da linguagem utilizada para a implementação. [LUSTOSA, 2003]. Uma descrição mais aprofundada sobre ontologias será disponibilizada na seção 2.2. Por último, tem-se a camada lógica responsável por definir mecanismos para fazer inferência sobre os dados. É formada por um conjunto de regras de inferência que poderão ser utilizadas pelos agentes para relacionar e processar informações [AFONSO, 2001]. Nessa camada os agentes computacionais terão o poder de raciocinar sobre os dados que estão disponibilizados na camada de estrutura, partindo das relações que foram estabelecidas entre esses dados na camada de esquema.

19 Para [LIMA, 2003], a Web só alcançará o máximo de sua capacidade quando se tornar um lugar onde dados possam ser compartilhados e processados, tanto por pessoas como por ferramentas automáticas. Sendo assim, sua evolução necessita que os programas desenvolvidos futuramente sejam capazes de processar e compartilhar dados, mesmo que estes tenham sido projetados de forma totalmente independente. A gestão do conhecimento, por ser área que se concentra na obtenção, manutenção e acesso ao conhecimento de uma organização, com o objetivo de aumentar a produtividade, é um exemplo onde utilização da Web Semântica pode trazer grandes benefícios, pois muitas empresas se lançaram no mundo virtual a partir do avanço da internet [FARIA e GIRARDI, 2002 apud DZIEKANIAK, 2004] A tendência é que, em poucos anos, a Web Semântica esteja presente no dia a dia das pessoas, empresas e organizações, nas mais diversas áreas, trazendo melhoria nos processos de busca de informações, personalização de sistemas, entre outras. Com a utilização da Web Semântica tanto as organizações quanto os usuários comuns poderão sentir as mudanças e os benefícios oferecidos por esta nova web. 2.2 Ontologias Ontologias são um componente fundamental na emergente Web Semântica, pois promovem um padrão de estruturação e definição de significado para os termos de um domínio e ainda geram um meio para descrever a semântica de documentos web, permitindo que aplicações e agentes inteligentes possam fazer uso dessa semântica. Através dessa habilidade, aplicações no futuro podem ser inteligentes e trabalhar com os dados de maneira mais parecida com os métodos humanos de processamento. As ontologias podem ser empregadas em diversas áreas e a formalização do conhecimento é feita pela ontologia através da utilização de cinco componentes específicos, que serão descritos juntamente com conceitos a cerca das ontologias nas seções seguintes.

20 2.2.1 Conceitos O termo ontologia começou a ser utilizado a alguns anos em diversas áreas de conhecimento e a partir disso surgiram vários conceitos, como os apresentados abaixo: Uma ontologia é uma especificação explícita e formal de uma conceitualização compartilhada [STRUDER et al, 1998]. Uma ontologia é uma hierarquia estruturada de um conjunto de termos para descrever um domínio que possa ser usada como estrutura de uma base de conhecimento. Ela fornece os meios para descrever explicitamente a conceitualização do conhecimento representado em uma base de conhecimento [GRUBBER, 1999]. Ontologias fornecem um vocabulário comum de uma área e define, com níveis distintos de formalismos, o significado dos termos e dos relacionamentos entre eles (GÓMEZ-PÉREZ, 1999) Ontologias fornecem um vocabulário comum de uma área e define, com níveis distintos de formalismos, o significado dos termos e relações para definir extensões deste vocabulário [NOVELLO, 2002]. Com o intuito de atingir e manter a interoperabilidade dos sistemas, o uso de ontologias vem crescendo e se popularizando, pois estas são utilizadas para a normalização dos termos, garantindo que estes sejam capazes e suficientes para expressar os conceitos e permitir os relacionamentos entre eles, consistindo num conjunto de entidades que expressam o conhecimento sobre um domínio. Segundo [BERNERS-LEE, 2001], um dos idealizadores da Web Semântica, o conteúdo semântico das informações será destacado possibilitando que as máquinas realizem o processamento e em seguida a compreensão das informações encontradas através de agentes inteligentes. Essa compreensão pelas máquinas será possível através do uso da ontologia, que fornecerá a representação semântica das informações que estarão disponíveis na web.

21 De maneira geral, as ontologias suportam as especificações de termos, conceitos e restrições de implementação de sistemas computacionais independendo da sua complexidade, garantindo assim uma padronização que pode ser utilizada nas mais diversas aplicações e por diferentes equipes de desenvolvimento de sistemas, servindo a propósitos distintos no decorrer do tempo, tornando-se uma peça fundamental para o desenvolvimento da Web Semântica. Ontologias estão sendo aplicadas com sucesso em áreas em que a necessidade de uso de contexto, em especial de comunicação contextualizada, se faz sentir. Com efeitos, agentes baseados em ontologias vêm sendo testados em diversos campos, como comércio eletrônico, gestão do conhecimento, workflow e tratamento inteligente de informação [FREITAS, 2003]. O emprego de ontologias vem sendo feito em várias tarefas do cotidiano, tais como: suporte de decisão, compreensão da linguagem natural, indução ao raciocínio lógico dos agentes da web, busca e recuperação de informações semânticas, entre outras. Segundo [FREITAS, 2003], com a Web Semântica, o uso da ontologia para busca de recursos desejados em bases de informações melhora a precisão da busca, reduz o tempo total gasto, pois quando não é encontrada uma resposta exata à consulta, a estrutura semântica da ontologia capacita o sistema a retornar com respostas que são mais próximas da consulta, isso ocorre devido à utilização de informações que identificam e descrevem os recursos, possibilitando o processamento desses dados a fim de encontrar o recurso solicitado. Visando atender as expectativas da Web Semântica, as ontologias devem ser desenvolvidas de maneira que desde o início formalizem o significado das informações. Baseadas nessa necessidade emergente de adequar-se à nova web, algumas ferramentas foram desenvolvidas com o propósito de oferecer subsídio para essa tarefa. A OWL (Web Ontology Language) [OWL, 2004] é uma das ferramentas que pertence à relação de tecnologias recomendadas pela W3C (World Wide Web Consortium) para o desenvolvimento da Web Semântica. Essa linguagem é equipada de mecanismos que possibilitam a representação do significado dos dados de forma

22 que possam ser processados e compreendidos, independente da sintaxe utilizada, promovendo a interoperabilidade dos documentos web. A sintaxe da linguagem OWL é baseada no XML pela sua capacidade em definir esquemas de tags na estruturação dos dados; já para a semântica são utilizados os recursos oferecidos pelo RDF [RDF, 2004] e RDF Schema [RDF SCHEMA, 2004] além de outros mecanismos que ela apresenta [OWL, 2004]. 2.2.2 Componentes Segundo [NOVELLO, 2002], a ontologia formaliza o conhecimento através da utilização de cinco componentes: conceitos, relacionamentos, funções, axiomas e instâncias. Conceitos: são a representação de alguma ou qualquer coisa, com relação a um domínio específico; as propriedades pertencentes a um conceito são chamadas de atributos; Relacionamentos: são as integrações existentes entre os vários conceitos que compõem o domínio, podendo-se definir cardinalidades para essas relações; Funções: são relações especiais onde o enésimo elemento da relação é único para os n- 1 elementos precedentes. São formalmente definidas como: F: C1 x C2 x C3 x... x Cn-1 Cn; Axiomas: modelam sentenças que são sempre verdadeiras sobre a ontologia e ainda as restrições existentes. Os axiomas serão descritos mais profundamente na subseção 2.2.2.1; Instâncias: representam os elementos de uma ontologia através da representação dos conceitos e relações estabelecidas pela ontologia. A criação de uma ontologia requer um estudo aprofundado sobre o domínio com intuito de definir de forma coerente e satisfatória todos os componentes que estruturam as ontologias. A formalização do conhecimento em uma ontologia deve ser projetada de forma a abranger o domínio da aplicação e ainda ser extensível, incluindo o máximo de conhecimento acerca do domínio com o objetivo de poder ser reutilizável em outras aplicações.

23 A seção seguinte enfoca o componente da ontologia Axiomas, descrevendo suas funcionalidades e exemplificando a sua utilização em ontologias, pois os axiomas são utilizados para o desenvolvimento desse trabalho. 2.2.2.1 Axiomas Os conceitos e relações formam a base da ontologia. Uma característica essencial de ontologias é a definição de axiomas que têm como função modelar as sentenças que são verdadeiras sobre determinada ontologia e especificar as restrições de implementação da mesma. Os axiomas devem ser necessários e suficientes para expressar as questões de competência e caracterizar suas soluções. Em uma ontologia os axiomas podem se apresentar de duas formas e propósitos distintos: axiomas de derivação e axiomas de consolidação. Os axiomas de derivação possibilitam especificar informações partindo de conhecimentos previamente existentes, sendo meios para deduzir e representar conseqüências lógicas. Por sua vez, os axiomas de consolidação são utilizados para descrever a coerência das informações existentes, definindo condicionantes para o estabelecimento de uma relação ou para a definição de um objeto como instância de um conceito [FALBO, 1998]. Durante a construção da ontologia é necessária a sua formalização, que é feita através da definição dos axiomas que farão as restrições pertinentes ao domínio. Estes axiomas são responsáveis pela representação de mais conhecimento do domínio além dos representados nas classes, propriedades e hierarquias de classes. As Figuras 2 e 3 demonstram axiomas que especificam sentenças pertinentes à ontologia de Material Didático. x (definição (x) conceito (x)) Figura 2. Formalização de equivalência entre os termos conceito e definição.

24 x (prova (x) avaliação (x)) Figura 3. Formalização de equivalência entre os termos avaliação e prova. Nas Figuras 2 e 3 têm-se exemplos de axiomas que fazem a formalização do conhecimento para o domínio Material Didático, especificando uma equivalência entre os termos utilizados para o mesmo. Assim, durante uma pesquisa o agente deve ser capaz de identificar quais termos possuem mesmas semânticas, no caso a classe Avaliação pode ser pesquisada como Prova e o agente deve assumir que representam a mesma coisa. 3. Object - Oriented Hypermedia Design Method - OOHDM Em virtude da grande utilização na web de aplicações hipermídia, surgiu a necessidade de desenvolver aplicativos concisos e estáveis, que possibilitem uma navegação eficiente e planejada, para que assim, o usuário não se perca ao percorrer os objetos da aplicação. As hipermídias permitem a navegação do usuário por diversas partes de um aplicativo na ordem que desejar utilizando diferentes caminhos para acessar os objetos dessa aplicação. O método OOHDM propõe diretivas que contribuem para o desenvolvimento de aplicações hipermídias com as características esperadas para uma boa navegação de acordo com os padrões e requisitos desejados. O método OOHDM e seus componentes serão apresentados nas seções seguintes. 3.1 Conceitos Desenvolvido por [ROSSI, 1996], o OOHDM é um método para construção de aplicações hipermídia. Uma das características de aplicações hipermídia é a noção de navegação. No OOHDM, uma aplicação é trabalhada como uma visão navegacional do modelo conceitual. O OOHDM considera o processo de desenvolvimento da aplicação

25 hipermídia como um processo de quatro atividades, desempenhadas em uma mistura de estilos iterativos e incrementais de desenvolvimento; em cada etapa um modelo é construído ou enriquecido. [ROSSI, 1996]. Assim, as atividades são: Modelagem Conceitual: nesta atividade faz-se a análise do domínio da aplicação, resultando num esquema com classes e relacionamentos, semelhante ao modelo conceitual UML; Modelagem Navegacional: as informações que serão apresentadas aos usuários são definidas e ainda as navegações entre elas. Neste momento, especificam-se os objetos navegacionais (nós, elos, classes em contexto, estrutura de dados, etc.) e faz-se a produção de esquema navegacional; Projeto da Interface Abstrata: define-se como serão os objetos da interface, suas propriedades e transformações; Implementação: atividade responsável por traduzir o projeto navegacional e de interface para um determinado ambiente de implementação. As três primeiras atividades são desenvolvidas iterativamente, enquanto a atividade de implementação, geralmente, é desenvolvida após o término dessas. Tabela 1. Metodologia dos Processos OOHDM [ROSSI, 1996]. Atividades Produtos Mecanismos Interesses do Projeto Modelagem Conceitual Projeto da Navegação Classes, subsistemas, relacionamentos, perspectivas de atributos. Nós, elos, estruturas de acesso, contextos de navegação, transformações navegacionais. Classificação, composição, generalização e especialização. Mapeamento entre objetos conceituais e de navegação. Padrões de navegação para a descrição da estrutura geral da aplicação. Modelagem da semântica do domínio de aplicação Leva em conta o perfil do usuário e a tarefa; ênfase em aspetos cognitivos e arquiteturais.

26 Implem ent ação Objetos de interface abstrata, reações a eventos externos, transformações de interface. Aplicação em execução Mapeamento entre objetos de navegação e objetos de interface. Aqueles fornecidos pelo ambiente alvo Modelagem de objetos perceptíveis, implementa metáforas escolhidas. Descrição de interface para objetos navegacionais Desempenho, completitude A Tabela 1 representa as quatro etapas do projeto OOHDM e os produtos que são gerados em cada uma delas, bem como os produtos e os interesses definidos para o projeto. Em cada uma das atividades uma parte do projeto é desenvolvida, de forma que é necessária a conclusão de uma etapa para o início da próxima. Segundo os autores do modelo, a maior contribuição oferecida pelo OOHDM consiste na geração da modelagem navegacional que, para a sua construção, leva em consideração os tipos de usuários e o conjunto de atividades que poderão ser desenvolvidas. Uma das principais contribuições do OOHDM para o desenvolvimento de aplicações Web é a diferenciação entre modelos navegacionais e modelos conceituais definindo que não se deve navegar em um modelo conceitual. [LIMA, 2003]. Não serão aprofundados, neste trabalho, os estudos sobre as etapas Projeto de interface abstrata e implementação. Será enfocada maior atenção na Modelagem Conceitual e Projeto de Navegação, pois ambas serão utilizadas no desenvolvimento deste trabalho. O estudo sobre estas etapas será descrito nas seções seguintes.

27 3.2 Modelo Conceitual A etapa da modelagem conceitual permite a criação de um modelo do domínio da aplicação a partir de princípios da orientação a objetos utilizados na UML 2, porém com alguns acréscimos. Nesse ponto são descritos alguns objetos e relacionamentos, existentes no domínio em que se irá trabalhar, construindo-se um esquema conceitual do domínio. No OOHDM esse esquema conceitual é estabelecido com a criação de classes, sistemas e subsistemas, onde as classes são semelhantes às modeladas no UML, porém, os seus atributos podem ser multi-tipados, ou seja, podem representar várias perspectivas sobre determinada entidade real do domínio. Este esquema conceitual é, basicamente, um conjunto de classes e objetos e os relacionamentos são responsáveis por fornecer a ligação entre os mesmos. As classes são descritas através de atributos e métodos, de acordo com o comportamento dessas classes na implementação. Os relacionamentos possuem cardinalidade, mas também podem conter atributos e em algumas situações e comportamento. Quando o modelo navegacional for gerado, as classes serão transformadas em nós e os relacionamentos em elos. Os atributos são responsáveis por representar as propriedades essenciais ou de conceitualização sobre os objetos. Os tipos ou classes de atributos representam um relacionamento implícito ou a aparência desse atributo. Cada uma dessas aparências é classificada como uma perspectiva do atributo, ou seja, um atributo pode ser visto de diferentes formas, de acordo com a situação. No caso de um atributo possuir várias perspectivas, é utilizado [...] para identificar essa característica. Caso exista apenas uma, a perspectiva default é identificada com o uso de +, sendo que esta última deve estar presente em todas as instâncias. A Figura 4 demonstra um exemplo de representação de múltiplas perspectivas. 2 A Unified Modeling Language (UML) é uma linguagem visual usada para especificar, visualizar, construir e documentar os artefatos de sistemas de software. Tornou-se a linguagem universalmente aceita para a documentação de projetos de software.a UML emergiu como a notação da modelagem orientada a objetos. [LARMAN, 2004]

28 Pessoa nome: String descrição: [String+, foto: Image] Figura 4: Atributo com Múltiplas Perspectivas. No exemplo anterior observa-se que na classe Pessoa o atributo descrição apresenta múltiplas perspectivas, assim, além da descrição textual, que é o atributo default (simbolizado pelo sinal de +), existe ainda uma descrição através de imagem. A representação de várias perspectivas é descrita entre colchetes [...] onde constará o identificador, seguido de : e do tipo desse atributo. Os mecanismos de abstração oferecidos para essa abordagem são a agregação, generalização/especialização e subsistemas. A Agregação, mecanismo próprio pra trabalhar com complexidade, é útil para descrever classes complexas como agregadas de classes mais simples. A Generalização é utilizada na construção de hierarquias de classe e para o emprego de herança para compartilhar dados. Os subsistemas, por sua vez, são um mecanismo de empacotamento para abstração de modelos em domínios complexos [ROSSI, 1996]. A Figura 5 demonstra um exemplo do mecanismo de Generalização/Especialização. Referência Código: Integer Data-Lugar: String Descrição: [Texto+, Imagem] Entrevista Descrição: [Texto+, Imagem] Correspondência Descrição: String Figura 5. Exemplo de Generalização. Quando ocorre Generalização de classes, os atributos da superclasse são herdados pela classe especializada, assim, ela possui todos os atributos da

29 superclasse, inclusive a default, e mais os atributos específicos de sua classe. Caso a classe especializada também possua um atributo default, este passa a ser a perspectiva obrigatória e o da superclasse passa a ser opcional. O comportamento esperado para o modelo conceitual é dependente das características esperadas para uma aplicação, principalmente quando se trata de uma aplicação que seja capaz de adaptar-se ao usuário de forma dinâmica, permitindo inúmeras atividades computacionais. Na Figura 6 têm-se um exemplo de um modelo conceitual para uma aplicação cuja forma de apresentação não faz distinção para os perfis de usuários. Referência Código: Integer Data-Lugar: String Descrição: [Texto+, Imagem] autores Entrevista Descrição: [Texto+, Imagem] Correspondência Descrição: String recebe é estudo para Pessoa Nome: String Código: Integer Data-Lugar: String Descrição: Texto Biografia: Texto possui descreve Obra de Arte Titulo: String Código: Integer Tema: String Data-Lugar: String Descrição: [Texto+, Imagem] Técnica: String Comentário: Texto Data-da-Visita: Date Fotografo: String Evento Nome: String Código: Integer Data-Lugar: String Descrição: Texto é exibido em Figura 6. Exemplo de Modelo Conceitual.

30 A Figura 6 demonstra parte de um modelo conceitual para Material Didático, que será objeto de estudo neste trabalho. Pode-se observar que as classes estão definidas de forma que uma complementa o conteúdo da outra, disponibilizando ao usuário várias formas de acessar e assimilar o mesmo assunto. 3.3 Modelo Navegacional Outra etapa importante do OOHDM é o modelo navegacional, pois neste ponto são projetadas as navegações no espaço de informações da aplicação hipermídia. Esse modelo permite que diferentes usuários de uma mesma aplicação possam ter visões e navegações diferenciadas, de acordo com seus interesses e necessidades, possibilitando que sejam limitadas as navegações por perfis de usuários, controlando quais informações e de que forma estas serão acessadas. Em OOHDM propomos a construção de um modelo conceitual compartilhado no qual focalizaremos os objetos e relacionamentos do domínio. Mais tarde, diferentes visões navegacionais serão derivadas desse modelo, levando em conta os perfis de futuros usuários. O modelo conceitual funcionará como um repositório compartilhado de modelagem, a partir do qual construiremos diferentes visões do domínio do problema [ROSSI, 1996]. A construção do modelo navegacional deve levar em consideração diversos pontos como, por exemplo, quais visões serão permitidas aos usuários e quais os objetos que poderão ser navegados por ele, e ainda quais os relacionamentos existentes entre os objetos e os atributos. O desenvolvimento de um modelo conceitual bem elaborado contribuirá para um bom modelo navegacional. A partir do modelo conceitual são criadas as visões que definem um conjunto de classes e contextos, que são responsáveis, respectivamente, por mostrar os relacionamentos entre os objetos navegacionais e a navegação em geral. Ambos serão detalhados nas seções seguintes.

31 3.3.1 Classes Navegacionais As classes navegacionais são responsáveis pela navegação do usuário, especificando quais objetos serão vistos pelos usuários. Essas classes navegacionais são especificadas com especializações de classes básicas que definem a semântica dos objetos navegacionais. As classes básicas do OOHDM são os nós, elos e âncoras. Na Figura 7 pode se observar exemplo de classes navegacionais que contêm os nós Pessoa, Obra_de_arte, Comentário_Guia e Ilustração. Os nós possuem informações referentes à navegação dentro da aplicação e estas são representadas através das âncoras. Figura 7. Exemplo de Classes Navegacionais. Os nós contêm as informações básicas nas aplicações hipermídia. A estrutura dos nós depende da semântica da aplicação e interesses dos usuários que utilizarão essa aplicação [ROSSI, 1996]. São descritos por um conjunto de atributos e métodos que implementam seu comportamento e são organizados em hierarquias de Generalização/Especialização, onde as sub-classes herdam as definições das

32 superclasses. Os atributos que definem os nós são os que determinam as informações dos mesmos e as âncoras. As âncoras serão descritas no decorrer dessa seção. Os comportamentos atribuídos aos nós durante a navegação, sua reação e a forma como interagem com os elos e suas interfaces são definidas na classenó. No esquema navegacional eles aparecem como uma pequena caixa, semelhantes às caixas do modelo conceitual, como é demonstrado na Figura 8. Os nós podem ser acessados em contextos diferentes e seus atributos e âncoras aparecem de maneira diferente de um contexto pra outro. Pessoa nome: String idade: Integer sexo: Char Figura 8. Exemplo de Nó. Elos são derivados dos relacionamentos do modelo conceitual e permitem a ligação entre os objetos navegacionais, podendo ligar um objeto a outro ou a vários outros objetos. O comportamento do elo é expresso pela definição das semânticas navegacionais. Segundo [ROSSI, 1996], os elos são a realização navegacional das relações. As classes de elos são definidas especificando os atributos, que expressam as propriedades do elo e podem vir a ser demonstrados na navegação, e o comportamentos dos elos, tais como origem, destino e cardinalidade. O comportamento dos elos expressa o comportamento da aplicação, pois quando um elo é percorrido por um usuário o grupo de objetos que é disponível a ele é modificado, surgindo novos nós e desaparecendo outros. Os elos são representados através de setas e são definidos a partir das relações, como demonstra a Figura 9.

33 Pessoa possui Entrevista Figura 9. Exemplo de Elo entre dois Nós As âncoras no OOHDM são como gatilhos, responsáveis por disparar uma navegação depois de selecionadas. Estas âncoras podem ser representadas na interface como objetos, por exemplo, um botão que é utilizado para acessar elos e estruturas de acesso. O comportamento atribuído a uma âncora é ativar a instância do elo correspondente quando a âncora é selecionada. De acordo com [ROSSI, 1996], as âncoras podem ser representadas como objetos da interface, porém elas não precisam ser necessariamente representadas na interface, apesar de comumente isso acontecer. As âncoras são utilizadas de acordo com o contexto em que o nó correspondente é navegado. 3.3.2 Contextos Navegacionais Os contextos navegacionais expressam a estrutura navegacional da aplicação. São um conjunto de elos, nós e outros contextos navegacionais aninhados, incluindo um caminho pré-definido entre os elementos que o compõe. Os contextos navegacionais contribuem para a organização dos objetos navegacionais, proporcionando um espaço navegacional consistente, que auxilie o usuário para que ele não se perca durante sua navegação, evitando a apresentação de informações redundantes, ajudando o usuário a escolher a maneira como navegará de forma consciente e controlada. Um contexto navegacional é um conjunto de objetos navegacionais e contexto navegacionais aninhados, além de uma estratégia de ligação entre os objetos. Como os objetos navegacionais em determinado contexto podem ter aparências diferentes das que terão em outros contextos, a definição de um contexto navegacional inclui também a definição de tais

34 diferenças. O contexto navegacional pode, também, ser representado como um objeto com seus próprios atributos [ROSSI, 1996]. Segundo [ROSSI, 1996], os elementos que compõem um hiperdocumento são mais facilmente compreendidos quando são apresentados em um contexto, minimizando os problemas de desorientação em aplicações complexas. Esses contextos são comumente induzidos pelas classes navegacionais. Na Figura 10 estão os elementos gráficos utilizados para a representação de contextos navegacionais. C C1 (C) Família de Contextos C Contexto C1 (família C) A C1 C2 Ind Indice Ind Navegação ou mudança de contexto C3 Elos de contexto Nós da classe A são percorridos em contextos C1, C2, C3 Agrupamento de contextos C C1 i C C2 O Contexto C inclui C1 e C2 O contexto C é accesado por um índice Figura 10. Elementos Gráficos do Esquema Contextual [ROSSI, 1996]. Quando se inicia a navegação dentro de um contexto navegacional, o usuário terá acesso a um conjunto de caminhos, trilhas navegacionais que ele pode seguir de acordo com o contexto navegacional e as especificações feitas inicialmente, que

35 definiram quais objetos serão navegados, como essa navegação ocorre e qual aparência terão ao serem acessados pelo usuário. A definição de um contexto navegacional provoca a identificação de quais objetos esse contexto envolve e ainda qual será o comportamento desses objetos. Os elementos que contribuem para a definição de um contexto são as classes contexto, classes EmContexto e Elos de Contexto. As Classes Contexto definem as características que fazem a distinção do contexto navegacional, podendo conter atributos de diferentes tipos, tais como tipos de mídia para apresentar informações sobre os contextos, índices que surgem no momento que o objeto de contexto é acessado, ou ainda âncoras que levam a elos de contextos ou estruturas de acessos. As Classes EmContexto, por sua vez, apresentam informações adicionais sobre os nós pertencentes a um contexto. As Classes EmContexto possuem informações significativas ao contexto, tais como o sentido na travessia existente entre objetos navegacionais; assim, elas definem as reações de uma âncora no momento em que ela é selecionada. Os Elos de Contexto são responsáveis por relacionar os elos dentro de um mesmo contexto. Esses Elos são acessados a partir das âncoras definidas em classes de Nó ou nas Classes EmContexto, obtendo-se como resultado a abertura do objeto destino dentro do contexto desejado. Os Elos EmContexto têm em comum com os elos convencionais a necessidade de definir tanto os destinos dos elos quanto as transformações que ele sofrerá ao longo da navegação. Pode-se observar na Figura 11 um exemplo de contexto navegacional, utilizando os elementos gráficos que compõem e definem Esquema Contextual de uma aplicação.

36 Figura 11. Exemplo de Contexto Navegacional. Na Figura acima, pode-se observar um exemplo parcial de um contexto navegacional para Material Didático. Esse modelo define os caminhos que o usuário deverá percorrer, desde o menu principal, até acessar os nós da aplicação. Utilizando o exemplo da Figura 11, o usuário pode, a partir do Menu Principal, acessar o nó Exemplo e a partir dele percorrer o elo de ligação até o nó Imagem, ou ainda navegar para os outros nós que se ligam com o nó Exemplo. Como uma das grandes colaborações do OOHDM é a utilização de um modelo navegacional diferente do modelo conceitual das aplicações, na seção seguinte são destacadas algumas das principais diferenças existentes entre estes dois modelos. 3.4. Diferença entre os modelos conceitual e navegacional Quando se trabalha com aplicações simples e estáticas, que não diferenciam a navegação de acordo com o perfil do usuário, tem-se um modelo navegacional bastante parecido com o modelo conceitual uma vez que não é necessária a criação de diferentes visões da aplicação e todos os nós e relacionamentos originam-se do modelo conceitual e as diferenças podem ser sutis, como por exemplo, um atributo. As grandes diferenças existentes entre os dois modelos é que o modelo navegacional prevê as navegações dos usuários e trabalha com dois tipos de

37 informações que são as classes e os contextos navegacionais, enquanto o modelo conceitual trabalha apenas com as classes, atributos e relacionamentos. Outra diferenciação existente é que no modelo conceitual são criadas todas as classes necessárias para a representação do domínio, como por exemplo, uma classe controlador, que faria o gerenciamento de acessos à uma aplicação. No modelo navegacional são representadas apenas as classes que serão vistas pelo usuário, tornando invisíveis as classes que não são do seu interesse. Nesse ponto também são definidos os perfis que terão acesso à uma determinada classe.

38 4 MATERIAIS E MÉTODOS Neste capítulo serão apresentadas as metodologias utilizadas para o desenvolvimento deste trabalho, bem como as ferramentas empregadas, que juntamente com as orientações permitiram a sua finalização. 4.1 Metodologia A aquisição do conhecimento necessária para o desenvolvimento deste trabalho foi obtida através de várias pesquisas acerca da Web Semântica, Ontologias e do modelo OOHDM, com intuito de recolher informações referentes ao domínio do trabalho desenvolvido, de maneira que fosse possível um bom embasamento teórico que contribuísse para a conclusão do mesmo. Assim, foram abordados conceitos, estruturas, componentes e técnicas de desenvolvimento que tornassem possível a apresentação das conclusões através de uma exemplificação que demonstrasse as informações explanadas na Revisão de Literatura. A partir dessa base teórica adquirida, foi aplicado o aprendizado para desenvolver a modelagem de Material Didático utilizando os componentes do OOHDM Modelo Conceitual e Modelo Navegacional. Após a conclusão desta modelagem, utilizando uma ferramenta específica para criação de ontologias, o Protégé, foram

39 transpostas as classes, atributos e relacionamentos disponíveis na modelagem para a ferramenta em que foram criadas as classes, propriedades e restrições necessárias para a representação de conhecimento do domínio, utilizando-se a Linguagem OWL para tal representação. Após a criação da ontologia é possível analisar seus axiomas para verificação da possibilidade de inferir axiomas a partir do modelo navegacional ou vice-versa. 4.2 Material Os recursos utilizados para desenvolver esse trabalho foram desde publicações anteriores sobre os assuntos a ferramentas específicas. Dentre as ferramentas destacase o Rational Rose 2000 Enterprise Edition, utilizado para a modelagem Conceitual e Navegacional OOHDM do domínio Material Didático, e o Protégé 3.1 Beta, empregado na criação da ontologia e seus componentes na linguagem OWL. Para as fontes bibliográficas destacam-se artigos, teses de mestrado e doutorado, trabalhos de conclusões de cursos, publicações científicas e sites diversos. Todo material bibliográfico utilizado pode ser observado no capítulo 7 - Referências Bibliográficas. 4.3 Local e Período Este trabalho foi desenvolvido no Centro Universitário Luterano de Palmas, mais precisamente no laboratório do GENORTE, do curso de Sistemas de Informação. A realização deste trabalho ocorreu durante o primeiro semestre de 2005, como requisito da disciplina Prática de Sistemas de Informação I deste curso.