Você está na página 1de 12

Um método e um ambiente para o desenvolvimento

de aplicações na web semântica.


Proposta de Dissertação de Mestrado
Mauricio Henrique de Souza Bomfim
Orientador: Daniel Schwabe

{mbomfim, dschwabe}@inf.puc-rio.br
Departamento de Informática – PUC-Rio
Rio de Janeiro, Brasil, dezembro de 2009

Resumo

O objetivo desta dissertação é apresentar um método, incluindo processos e modelos, e um


ambiente para o desenvolvimento de aplicações na Web Semântica. Mais especificamente,
este trabalho apresenta a evolução no método SHDM (Semantic Hypermedia Design Method)
e do ambiente HyperDE, que se torna um ambiente de desenvolvimento de aplicações
dirigido por ontologias utilizando dados distribuídos na Web Semântica, alinhado com este
método.

Sumário
1 Introdução................................................................................................................................2
2 Proposta................................................................................................................................... 3
2.1 Evolução do método SHDM............................................................................................3
2.2 Evolução do HyperDE.....................................................................................................4
2.2.1 Modelo de federação de repositórios de dados........................................................ 4
2.2.2 Modelo conceitual de domínio da aplicação............................................................4
2.2.3 Modelo navegacional............................................................................................... 5
2.2.4 Modelo de operações............................................................................................... 5
2.2.5 Modelos de interface abstrata e concreta................................................................. 5
2.2.6 Visão conceitual da arquitetura do HyperDE...........................................................5
2.2.7 Colaboração entre os modelos................................................................................. 8
3 Estrutura Preliminar da Dissertação........................................................................................ 9
4 Cronograma........................................................................................................................... 11
5 Contribuições.........................................................................................................................11
6 Trabalhos relacionados.......................................................................................................... 11
7 Referências............................................................................................................................ 12

1
1 Introdução

Segundo Tim Berners-Lee, um dos idealizadores da WWW original [Berners-Lee, 1989,


1990], a Web Semântica não se trata apenas de pôr meta-dados na web, mas sim de também
criar links de maneira que pessoas ou máquinas possam explorar esses dados. O termo Linked
Data1 refere-se a um conjunto de regras, princípios e melhores práticas para se publicar e
interligar dados estruturados na Web com o objetivo de facilitar a exploração desses dados
[Berners-Lee, 2007].

O Resource Description Framework (RDF)2 é uma linguagem para representar informações


sobre recursos na WWW [Manola & Miller, 2004] e é um padrão adotado pela iniciativa
Linked Data.

Um pré-requisito fundamental para a efetiva disseminação da Web Semântica é a existência


de grandes quantidades de dados RDF significativamente interconectados na Web. O projeto
Linking Open Data3 (LoD) tem disponibilizado várias bases de dados abertas em RDF na
web e desenvolvido mecanismos automatizados para interconectar estes dados com
declarações RDF [Bizer et. al., 2007].

Face a esta crescente disponibilização de dados semânticos através da LoD, é natural que o
desenvolvimento de aplicações na Web Semântica deva estar alinhado com os princípios
desta iniciativa, levando à necessidade de criação de métodos e ferramentas de
desenvolvimento que considerem a utilização e disponibilização dos dados distribuídos na
rede segundo estes padrões.

O OOHDM (Object-Oriented Hypermedia Design Method) é um método baseado em


modelos e que utiliza técnicas de orientação a objetos para o projeto de aplicações
hipermídia. O grande diferencial deste método para construção de aplicações hipermídia,
comparado a métodos tradicionais de engenharia de software, é a destacada relevância dada
ao aspecto navegacional da aplicação [Nunes 2005], bem como o tratamento do projeto de
interfaces de forma independente da navegação, e também das tecnologias e ambientes de
execução.

O SHDM (Semantic Hypermedia Design Method) é uma evolução do método OOHDM que
leva em consideração os formalismos e primitivas introduzidas pela Web Semântica. O
método permite o projeto de aplicações hipermídia baseadas em ontologias, descritas através
de metadados. O método SHDM mantém a mesma estrutura de fases de modelagem para o
método OOHDM, mantendo a separação entre modelos conceituais e navegacionais,
contextos navegacionais e outros conceitos do método original. [Nunes 2005].

Embora leve em consideração os formalismos e primitivas introduzidos pela Web Semântica,


o método SHDM não formaliza uma maneira de se utilizar os dados distribuídos na rede.
Dessa maneira, o uso dos dados distribuídos na Web Semântica pelas aplicações construídas
segundo o método é informalmente tratado apenas como uma questão de implementação.

1 http://www.w3.org/DesignIssues/LinkedData.html
2 http://www.w3.org/RDF
3 http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData

2
O esquema navegacional proposto pelo método SHDM é uma visão específica mapeada sobre
as primitivas do modelo conceitual de domínio. A necessidade de um mapeamento sobre as
classes de domínio pode ser vista como uma desvantagem, pois é mais direto, na Web
Semântica, estender modelos existentes em vez de transformá-los em outros. Assim, o
modelo navegacional pode ser visto como uma extensão do modelo de domínio através
acréscimo de propriedades navegacionais aos recursos que são instâncias desse modelo.

O HyperDE é a combinação de um framework no padrão Model-View-Controller e um


ambiente de desenvolvimento para a construção de protótipos de aplicações hipermídia,
modeladas através dos métodos OOHDM ou SHDM [Nunes 2005] e sofre dos mesmos
problemas dos métodos em que se baseia. Além disso, o metamodelo de domínio do
HyperDE é implementado com uma ontologia própria que, por não ser RDFS4 nem OWL5,
padrões adotados pela Web Semântica, dificulta o reuso de instâncias de recursos descritos
através das ontologias existentes.

O método SHDM e o ambiente HyperDE precisam de evoluções que os tornem mais


alinhados com os princípios da iniciativa Linked Data e assim possam formar um par método
e ambiente para o desenvolvimento de aplicações na Web Semântica.

2 Proposta
Este trabalho apresenta a evolução no método SHDM e do ambiente HyperDE, em destaque,
a introdução do modelo de federação de repositórios de dados, as mudanças no modelo
navegacional para uma extensão do modelo conceitual de domínio, além da integração dos
modelos de operação e interface propostos, respectivamente, por Danielle Loyola e Andréia
Luna, a serem defendidos no início do primeiro semestre de 2010.

2.1 Evolução do método SHDM


O modelo de federação de repositórios de dados será introduzido ao método e tem o papel de
especificar a origem dos dados e metadados da aplicação. Neste modelo serão descritos um
ou vários repositórios de dados de onde a aplicação deverá obter e persistir seus dados e
metadados na linguagem RDF. Este modelo deve ser especificado com abstrações
equivalentes ao vocabulário voiD (Vocabulary of Interlinked Datasets)6 para descrição seus
repositórios de dados. Além disso este modelo deve permitir a especificação de mapeamentos
entre os dados obtidos de repositórios externos e a visão destes dados para a aplicação, e
assim possibilitar o reuso dos dados externos de acordo com o modelo conceitual do domínio
da aplicação.

O esquema navegacional passará a ser uma extensão do modelo de domínio que adiciona às
suas classes propriedades que especificam abstrações do modelo navegacional, tais como
atributos navegacionais, por exemplo âncoras para contexto, índices etc. Dessa maneira,
passaremos a chamar de classe navegacional uma classe de domínio que possui atributos
navegacionais.

4 http://www.w3.org/TR/rdf-schema
5 http://www.w3.org/TR/owl-ref
6 http://rdfs.org/ns/void-guide

3
Como forma de consolidar todo o método, este trabalho vai apresentar a introdução do
modelo de operações proposto por Danielle Loyola e a atualização do modelo de interface
proposto por Andréia Luna.

2.2 Evolução do HyperDE


O HyperDE deverá ser capaz receber como entrada os artefatos de design produzidos na
execução dos passos indicados no método SHDM para especificação de uma aplicação
hipermídia, e gerar como saída a própria aplicação atendendo a todos os requisitos funcionais
descritos em sua especificação. Dessa maneira, o HyperDE pode ser visto como um
interpretador dos modelos do método SHDM.

Todos os artefatos produzidos na especificação e os dados utilizados pela aplicação serão


representados em linguagem RDF e poderão estar persistidos em um repositório RDF local
ou distribuídos em repositórios remotos.

As seções abaixo descrevem as relações do HyperDE com cada modelo do SHDM e como
estes modelos deverão ser interpretados.

2.2.1 Modelo de federação de repositórios de dados


Neste modelo serão especificados os repositórios de onde serão obtidos todos os dados
utilizados pela aplicação construída com o HyperDE. A especificação de cada repositório será
descrita com o vocabulário voiD e estes repositórios devem ser compatíveis com o protocolo
SPARQL7.

O HyperDE deve ser capaz de lidar com os repositórios especificados neste modelo como
uma visão de um grafo único e ainda interpretar os mapeamentos descritos no modelo de
federação.

As especificações dos outros modelos do SHDM são descritas em linguagem RDF e também
são tratadas como instâncias de dados, logo, poderão estar espalhadas pelos repositórios
descritos no modelo de federação, exceto o próprio modelo de federação que será sempre
persistido localmente.

2.2.2 Modelo conceitual de domínio da aplicação


Este modelo é composto por uma ontologia que define as classes, relacionamentos e
propriedades usados para descrever o domínio da aplicação e as instâncias de dados definidas
de acordo com esta ontologia.

A versão corrente do HyperDE permite a modelagem apenas das classes navegacionais da


aplicação através de um vocabulário próprio, o que dificulta o (re)uso de modelos de domínio
e ontologias conhecidas.

Neste trabalho, o HyperDE deve ser capaz de interpretar um modelo de domínio representado
em qualquer ontologia RDFS ou OWL.

7 http://www.w3.org/TR/rdf-sparql-protocol

4
2.2.3 Modelo navegacional
O HyperDE será modificado para persistir e interpretar modelos navegacionais descritos de
acordo com a nova definição de modelo navegacional proposta para o SHDM. O vocabulário
para a descrição deste modelo será baseado no trabalho proposto por [Szundy 2004].

O modelo navegacional também é responsável pela especificação dos contextos, estruturas de


acesso e landmarks da aplicação. Os contextos navegacionais poderão conter vários filtros,
onde se pode restringir, por exemplo, a origem dos nós resultantes.

As operações de navegação sobre os nós da aplicação serão implementadas como instâncias


de operações externas (do modelo de operações) pré-definidas que refletem comportamento
da navegação descrito no modelo navegacional.

2.2.4 Modelo de operações


Este modelo fornece operações que causam transformações no estado da aplicação.

O trabalho de Danielle Loyola apresenta um modelo de operações para o SHDM e uma


implementação deste modelo para a versão corrente do HyperDE.

Foram identificados dois tipos de operações: operações internas e operações externas. As


operações internas podem ser invocadas por outras operações e pelo modelo de interface
concreta mas nunca por entidades externas à aplicação. As operações de externas podem ser
invocadas através de requisições http a uma url padronizada e como resultado renderizam
uma interface visual ou redirecionam para outra url. Assim, as operações externas são um
canal de comunicação entre as entidades externas (usuários) e a aplicação.

2.2.5 Modelos de interface abstrata e concreta.


Estes modelos, propostos por Andréia Luna, especificam a apresentação da interface visual
com o usuário da aplicação e o comportamento desta interface. O HyperDE gera,
dinamicamente, uma interface visual baseada nestes modelos.

2.2.6 Visão conceitual da arquitetura do HyperDE


A figura abaixo apresenta a visão conceitual da arquitetura geral proposta para a nova versão
do HyperDE.

5
Modelo da aplicação

composto por ▼

Modelo de Modelo de Modelo Modelo Modelo de


Federação Domínio de Interface Navegacional Operações

especificado especificado especificado especificado


por ▼ por ▼ por ▼ por ▼

especializa ▲
especificado em ►

Metamodelo
Metamodelo Metamodelo Metamodelo
Federação
de Interface Navegacional de Operações
(voiD)
representado em ►

representado em ►

representado em ►

representado em ►
interpretado interpretado
por ▼ por ▼

Modelo de Dados e Metadados (RDF(S)/OWL)

persiste/distribui ▲

Camada de Federação Camada de Operações

implementado sobre ▼ implementado sobre ▼

Framework MVC (Ruby on Rails)

O modelo da aplicação é constituído por um conjunto de modelos que contém a especificação


de uma aplicação hipermídia de acordo com o método SHDM.

Cada modelo que compõe o modelo da aplicação é especificado por um vocabulário definido
por um metamodelo correspondente. Sendo assim, o modelo navegacional é especificado por
um vocabulário definido pelo metamodelo navegacional, o mesmo vale para o modelo de

6
interface, operações e assim por diante. O modelo de domínio é especificado diretamente nas
linguagens RDFS ou OWL, e dessa maneira, facilita o reuso de modelos de domínio
disponiveis na Web Semântica. Os vocabulários definidos pelos metamodelos do HypeDE
também são especificados diretamente em RDFS ou OWL.

O metamodelo de federação e o metamodelo de operações têm seu comportamento definido,


respectivamente, pela camada de federação e pela camada de operações que são componentes
de software responsáveis por interpretar os modelos baseados nesses metamodelos. A camada
de federação ainda é responsável pela persistência e distribuição dos dados na LoD.

Os componentes de software do HyperDE são implementados sobre um framework MVC.


Nesta implementação, utilizamos o framework Ruby on Rails8. O Ruby on Rails é um
framework de desenvolvimento web escrito na linguagem Ruby que foi projetado para tornar
a programação de aplicações web mais fácil, fazendo várias suposições sobre o que cada
desenvolvedor precisa para começar.

Uma nova proposta desta arquitetura é que os metamodelos navegacional, de interface e


outros que venham a ser introduzidos no SHDM tenham seu comportamento definidos por
especializações do modelo de operações, a serem interpretadas pela camada de operações.
Pretendemos com esta proposta aumentar a independência em relação ao framework base na
implementação dos metamodelos e, com isso, facilitar a introdução de novos metamodelos,
cujos comportamentos passam a ser definidos pelas abstrações oferecidas pelo modelo de
operações.

8 http://rubyonrails.org

7
2.2.7 Colaboração entre os modelos
O diagrama de sequência abaixo ilustra a sequência de colaboração entre os modelos do HyperDE em um caso normal de navegação na aplicação.

8
3 Estrutura Preliminar da Dissertação

1. Introdução

Aqui será apresentada uma visão geral do trabalho, focando em sua relação com o
método SHDM e com o ambiente HyperDE e como ambos se enquadram no contexto
geral da Web Semântica.

1.1. Objetivos

Enumeração dos objetivos que visamos alcançar com esse trabalho.

1.2. Organização da Dissertação

Guia para os próximos capítulos da dissertação.

2. Fundamentos

Apresentação geral das tecnologias para web semântica que servem como base para o
trabalho, tanto na parte conceitual quanto no processo de implementação. Serão
tratados assuntos como RDF, Ontologias, OWL, repositórios de dados da Web Semântica
e a iniciativa Linked Data.

2.1. O padrão MVC para processamento de requisições HTTP


2.2. A arquitetura de implementação
2.2.1. Linguagem Ruby
2.2.2. JRuby - Implementação da linguagem Ruby sobre a JVM
2.2.3. Framework Ruby on Rails
2.3. Bases de dados da Web Semântica
2.3.1. Iniciativa Linked Data, recursos dereferenciáveis e Marshups
2.3.2. Bases de dados compatíveis com o protocolo SPARQL
2.4. Tecnologias para conexão e distribuição de consultas nas bases de dados da Web
Semântica
2.4.1. ActiveRDF9 e RDFObjects10
2.4.2. NetworkedGraphs11 e Distributed SPARQL12
2.4.3. Semantic Web Client Library 13 e SQUIN14

3. O método SHDM (Semantic Hypermedia Design Method)

Apresentação do método SHDM, apresentando as fases do processo e seus modelos, com


destaque para a sua evolução.

9 http://ww.activerdf.org
10 http://github.com/rsinger/RDFObjects
11 http://www.uni-koblenz-landau.de/koblenz/fb4/institute/IFI/AGStaab/Research/systeme/NetworkedGraphs
12 http://www.uni-koblenz-landau.de/koblenz/fb4/institute/IFI/AGStaab/Research/systeme/DistributedSPARQL
13 http://www4.wiwiss.fu-berlin.de/bizer/ng4j/semwebclient
14 http://squin.sourceforge.net

9
4. Apresentação do ambiente HyperDE.

A seção 4.1 apresentará os requisitos funcionais do ambiente desenvolvido e as


tecnologias utilizadas como base para definição de sua arquitetura e sua implementação.

4.1. Requisitos

A seção 4.2 apresentará uma visão geral do ambiente HyperDE e em subseções os


detalhes de implementação de cada um dos componentes que fazem parte dessa
arquitetura.

4.2. Especificação da Arquitetura


4.2.1. O módulo de processamento de requisições
4.2.2. O módulo de federação de repositórios de dados
4.2.3. O módulo de modelo de domínio
4.2.4. O módulo de modelo navegacional
4.2.5. O módulo de modelo de operações
4.2.6. O módulo de modelo de interface

5. Estudo(s) de caso

Apresentação do(s) exemplo(s) desenvolvido(s) para desenvolvimento e avaliação do


ambiente.

6. Conclusões
Abordaremos nas conclusões questões como: o impacto desse trabalho no estado
corrente de das tecnologias para modelagem e desenvolvimento de aplicações na Web
Semântica; até que ponto os objetivos iniciais foram alcançados, o porquê dos que não
foram alcançados e o que seria necessário para o mesmo.

6.1. Trabalhos relacionados

Dentre trabalhos relacionados serão citadas as dissertações em andamento de Danielle


Loyolla e Andréia Luna, que fornecem respectivamente os módulos para modelagem de
operações e interface.

6.2. Trabalhos futuros

Como trabalhos futuros podemos destacar a implementação de um modelo para


formalizar questões de controle de acesso e um modelo de adaptação responsável por
modificar o comportamento de cada modelo da pilha de modelos com base em dados do
ambiente.

10
4 Cronograma
Início Fim Dias Tarefa
04/Jan 01/Fev 28 Escrever os capítulos 1 e 2
10/Jan 25/Jan 15 Avaliar bibliotecas e ferramentas para implementação da
camada de federação de repositórios de dados
26/Jan 28/Fev 33 Especificar e implementar a camada de federação de
repositórios de dados no HyperDE
02/Fev 01/Mar 27 Escrever o capítulo 3
02/Mar 12/Mar 10 Definição da ontologia do modelo navegacional
02/Mar 30/Abr 59 Escrever o capítulo 4
02/Mar 22/Mar 20 Escrever seções 4.1 a 4.5
13/Mar 05/Abr 23 Especificar e implementar a camada de persistencia dos
modelos do HyperDE em RDFS e OWL sobre o modelo
de federação
23/Mar 30/Abr 38 Escrever a seção 4.6
06/Abr 11/Abr 5 Integrar a camada de modelo de operações ao HyperDE
12/Abr 25/Abr 13 Implementar a camada do modelo navegacional sobre o
modelo de operações
26/Abr 01/Mai 5 Integrar a camada de modelo de interface ao HyperDE
01/Mai 31/Mai 30 Especificar e implementar de exemplo no HyperDE
01/Mai 31/Mai 30 Escrever o capítulo 5
01/Jun 20/Jun 19 Escrever os capítulos 6 e 7
21/Jun 30/Jun 9 Revisão geral

5 Contribuições
Antevemos como contribuições desse trabalho:

• A evolução do método SHDM ao cenário atual de uso de dados disponibilizados na


Web Semântica com a abordagem da iniciativa LoD.

• A disponibilidade de um ambiente para o desenvolvimento de aplicações na Web


Semântica alinhado com o método SHDM, integrando dados disponíveis em
repositórios na Web Semântica e proporcionando o aumento da produtividade dos
engenheiros de software que utilizam este método.

6 Trabalhos relacionados
As dissertações em andamento de Danielle Loyola, que propõe o modelo de operações e uma
implementação deste modelo sobre o HyperDE e de Andréia Luna, que propõe uma evolução
no modelo de interface do HyperDE, oferecem modelos que contribuem para a consolidação
do SHDM e o HyperDE em um par método e ambiente de desenvolvimento para a construção
de aplicações hipermídia na Web Semântica.

11
7 Referências
BERNERS-LEE, T. Information Management: A Proposal. CERN - March 1989, May
1990.
BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. The Semantic Web, Scientifc American,
May 2001.
BERNERS-LEE, T. Linked Data. W3C Design Issues, Jul 2007. Disponível em
<http://www.w3.org/DesignIssues/LinkedData.html>, acessado em 29 Nov 2009.
BIZER, C.; HEATH, T.; AYERS, D.; RAYMOND, Y. Interlinking Open Data on the Web,
ESWC2007 Poster Paper , 2007.
BRICKLEY, D.; GUHA, R.V.; MCBRIDE, B. RDF Vocabulary Description Language 1.0:
RDF Schema . W3C Recommendation 10 February 2004 . Disponível em
<http://www.w3.org/TR/rdf-schema/>, acessado em 29 Nov. 2009.
CLARK, K. G.; FEIGENBAUM, L.; TORRES, E., SPARQL Protocol for RDF, W3C
Recommendation 15 January 2008, Disponível em <http://www.w3.org/TR/rdf-sparql-
protocol/>, acessado em 29 Nov. 2009.
MANOLA, F.; MILLER, E. RDF Primer, W3C Recommendation 10 February 2004.
Disponível em <http://www.w3.org/TR/rdf-primer/>, accessado em 29 Nov. 2009.
MCGUINNES, D. L.; VAN HARMELEN, F. OWL Web Ontology Language Overview,
W3C Recommendation 10 February 2004. Disponível em <http://www.w3.org/TR/owl-
features/>, acessado em 29 Nov. 2005.
NUNES, D. A. HyperDE - um Framework e Ambiente de Desenvolvimento dirigido por
Ontologias para Aplicações Hipermídia, Rio de janeiro: PUC, Departamento de
Informática, 2005.
SCHWABE, D. et al. Design and Implementation of Semantic Web Applications,
Proceedings of WWW2004 Workshop, Application Design, Development, and
Implementation Issues in the Semantic Web, New York, 2004.
SZUNDY, G. Modelagem e Implementação de Aplicações Hipermídia Governadas por
Ontologias para a Web Semântica, Dissertação de Mestrado, Pontifícia Universidade
Católica do Rio de Janeiro, PUC-Rio, 2001.
VILAIN, P.; SCHWABE, D. Notação do Método OOHDM, Versão 2.0, Fevereiro de 2002,
Disponível em <http://www.tecweb.inf.puc-rio.br/autoria/space/Arquivos/Notacao_OOHDM.
zip>, acessado em 29 Nov. 2009.

12

Você também pode gostar