590 likes | 745 Views
Grupo de Tecnologias da Informação GTI - DCC - UFAM. Abril - 200 3. Participantes. Pesquisadores: João Marcos Bastos Cavalcanti Altigran Soares da Silva Edleno Silva de Moura Tayana Uchôa Conte 11 alunos de mestrado 6 alunos de graduação. Linhas de Pesquisa. Síntese de Web Sites
E N D
Grupo de Tecnologias da InformaçãoGTI - DCC - UFAM Abril - 2003
Participantes • Pesquisadores: • João Marcos Bastos Cavalcanti • Altigran Soares da Silva • Edleno Silva de Moura • Tayana Uchôa Conte • 11 alunos de mestrado • 6 alunos de graduação
Linhas de Pesquisa • Síntese de Web Sites • Gerência de dados na Web • Recuperação de Informação
Síntese de sites Web • Estudo, desenvolvimento e implementação de procedimentos e técnicas de síntese automática de Web sitesadequados para sistemas de RI • Linha liderada pelo professor João Marcos • Alunos: • Keyla e Moises
Visão Geral • Prof. João trabalhou no doutorado com metodologias para síntese de Web sites • Motivação: • As metodologias existentes não explicitam a necessidade de se projetar sites que favoreçam sistemas de RI
Tese de doutorado do João Técnicas de Lógica Computacional para Construção Automática de Web Sites
Síntese de Web Sites • Geração automática de Web sites • Objetivos: • Facilitar manutenção; • Reutilização de especificações; • Produção de Web sites consistentes • Exemplo: SSP Group Web Site http://www.dai.ed.ac.uk/groups/ssp/
Síntese de Web Sites • Abordagens oriundas de três áreas: • Banco de Dados: Araneus, Strudel, WebML. • Hipermídia: HDM, OOHDM. • Ontologia: SEAL, OntoWebber • Nossa abordagem: • IA(lógica computacional) + BD
Lógica Computacional Por que lógica ? • Especificação declarativa e processamento procedimental • Representação de conhecimento e raciocínio automático • Metaprogramação
Lógica Computacional • Características da Nossa Abordagem: • Uso de lógica para representar Web Sites • Suporte à geração de visualizações alternativas • Suporte a diferentes linguagens alvo • Verificação de restrições de integridade e propriedades • Automação de tarefas de manutenção
Modelagem de Aplicações para a Web • Data-intensive Web Sites: • Construção do Web Site a partir do seu conteúdo • Modelagem em separado de três componentes: • Conteúdo • Navegação • Apresentação
Conteúdo Navegação Apresentação Nível 1 Entidades e Atributos Relacionamentos e cardinalidades Especificação de estilos de apresentação Nível 2 Itens de informação Transições Estilos, templates e def. para style sheets Nível 3 Elementos HTML Links em HTML Elementos HTML e style sheets CSS Arquitetura
Especificação em Alto Nível • Modelagem Conceitual da aplicação • Experimentos realizados com o modelo Entidade-Relacionamento • Outros formalismos: UML, ODMG, Ontologias, etc.
Representação Intermediária • Define conteúdo e caminhos de navegação no site • Independente de detalhes de implementação • Componentes básicos: • Itens de informação • Unidades de apresentação • Operações • Transições
Itens de Informação • Itens de dados estruturados info(Label;Type; Datum) • Label: identificador único • Type: tipo de dados (integer, string, text, list, tuple, table) • Datum: o próprio dado (instância)
Unidades de Apresentação • Mecanismo para agrupar itens de informação • display(DisplayLabel, {InfoLabel1, …, InfoLabeln) • onde DisplayLabelé um identificador único e InfoLabelisão labels de itens de informação.
Operações • Especificação de programas op(Id, OpType, ArgsIn, ArgsOut) • Id: identificador único • OpType: filter, search, update, insert, remove. • ArgsIn: parâmetros de entrada • ArgsOut: parâmetros de saída • Operações representam páginas dinâmicas
Transições • Representam a estrutura de navegação InfoLabelDisplayLabel DisplayLabelDisplayLabel OperationIdDisplayLabel
Apresentação • Define detalhes visuais para apresentação do conteúdo • Componentes básicos: • Estilos para itens de informação • Modelos de páginas – templates • Style sheets
Apresentação • Estilos para itens de informação Style(InfoLabel, StyleId) • StyleId: corresponde a um esqueleto de código na linguagem alvo (ex: HTML) • Exemplos de estilos: text, bullet list, itemized list, table, entre outros.
Apresentação • Modelos (templates) de páginas • Define posicionamento dos itens de informação • Facilita geração de apresentações alternativas • Permite personalização de páginas Web
Apresentação • Estilos para páginas - Style Sheets • Especificação em CSS • Resolve especicação de detalhes de cores, margens, tipo e tamanho da fonte de texto, etc. • Facilita manutenção do estilo das páginas • Permite estilos alternativos para uma mesma página
Apresentação • Possibilidades para manutenção • Alterar o estilo de um item de informação • Associar estilos a tipos de dados • Alterar templates de páginas • Alterar o style sheet (CSS)
Exemplo: Site de Grupo de Pesquisa • Itens de Informação: info(membros_atuais, list, M) :- M = {Nome | pessoa(Nome, _, atual)} info(membros_anteriores, list, M) :- M = {Nome | pessoa(Nome, _, anterior)} info(publicacoes, table, T) T = {[Autores, Titulo, Ref, Ano]| publicacao(Autores, Titulo, Ref, Ano)}
Exemplo: Site de Grupo de Pesquisa • Unidades de Apresentação display(homepage, {texto_inicio, endereco, telefones, e-mail}) display(membros_grupo, {membros_atuais, membros_anteriores}) display(publicacoes_grupo, {publicacoes})
Exemplo: Site de Grupo de Pesquisa • Transições homepage membros_grupo homepage publicacoes_grupo lista_projetos(X) projeto_info[projeto(X,_,_)] D homepage :- display(D, _)
Exemplo: Site de Grupo de Pesquisa • Apresentação: estilos para itens de informação style(membros_atuais, bullet_list) style(membros_anteriores, bullet_list) style(publicacoes, bullet_list) style(projeto_info, tuple) style(eventos, table)
Síntese • Estruturas auxiliares link(Info, SetInfo) page(SetInfo, SetLinks, SetOp) WebSite = {page(SetInfo1, SetLinks1, SetOp1), …, page(SetInfon, SetLinksn, SetOpn)}
Síntese • Processo de síntese: • Instanciar itens de informação • Criar programas (operações) • Aplicar estilos de apresentação • Traduzir estruturas de páginas para linguagem alvo (HTML, XML, WML).
Verificação de Propriedades • Hipergrafo • H = (V,E) • V = {v1, …, vn} conjunto de nós • E = {e1, …, en} conjunto de hiperarestas • ei = (he, Te) onde Te V e he V – Te • I D display(D, Is) iff (I, Is) E
Verificação de Propriedades • Todo item de informação deve ser incluído em uma unidade de apresentação • I,T,R D,Is info(I,T,R) • display(D, Is) I Is
Verificação de Propriedades • Toda transição deve ser entre itens de informação e unidades de apresentação existentes • I,D (I D) info(I,T,R) • display(D, Is) I Is
Verificação de Propriedades • Acessibilidade • I D ou • I Dt It Dt It * D • D D’ I homepage(D) D’D • ID I * D’
Verificação de Propriedades • Implementamos mecanismos para verificação automática de propriedades • A complexidade de algumas verificações pode ser exponencial no pior caso • Verificação na especificação e não na implementação do Web site
Manutenção Automática • Uso de agentes especializados • Operações específicas: • adição de conteúdo • atualização de conteúdo • remoção de conteúdo • atualização da apresentação • verificação de links externos
Manutenção Automática • Arquitetura do sistema de síntese e agentes de manutenção
Manutenção Automática • Arquitetura do sistema de síntese e agentes de manutenção
Manutenção Automática • Especificação de agentes de manutenção: • agent(InfoLabelSet, Time, Type) • InfoLabelSet: conjunto de labels de itens de informação • Time: frequência da tarefa • Type: tipo de operação
Resultados • Geração automática de Web sites consistentes com especificação de alto nível • Facilidades para manutenção: • Alterações no conteúdo • Alterações na apresentação • Pessoal não-técnico • Automação de tarefas • Verificação de propriedades
Trabalhos Futuros • Entradas alternativas: • UML • Ontologia • Saídas Alternativas: • XML • WML • PDF • Sistema de Gerência de Conteúdo
Trabalhos Futuros • Manutenção automática • Integração com métodos para Recuperação de Informação
Gerência de Dados na Web • Diversos trabalhos estão sendo conduzidos em conjunto com o LBD. • Alguns trabalhos novos sendo realizados pelo grupo em Manaus: • Integração de fontes de dados Web • Coletor de estruturas
Integração de dados • Objetivo: Ser capaz de integrar informações textuais de fontes estruturadas heterogêneas
Motivação • Proliferação de bancos de dados na Web • Heterogeneidade das bases de dados da Web • Necessidade dos usuários em fazer consultas cujas respostas sejam o resultado da integração dos muitos recursos on-line disponíveis.
MOVIE LINK INTERNET MOVIE DATABASE • Relação de filmes em cartaz por cidade • Lista de Filmes • Elenco • Diretores • Classificação etc • n outros sites contendo críticas e observações sobre filmes C A B D Que filmes de Woody Allen estão em cartaz em Nova York e quais os comentários sobre eles? Exemplo: Bancos de Dados de Filmes
INTERNET MOVIE DATABASE • Hannah e Suas Irmãs • Crimes e Pecados • A Rosa Púrpura do Cairo • ..... • Seatle.... • New Jersey.... • Nova York..... • Chicago... MOVIE LINK C A • Uma garçonete que costuma fugir da realidade no cinema, assistindo sessões seguidas de seus filmes prediletos, tem uma grande. .... B D Pesquisando...
Bancos de dados Heterogêneos INTERNET MOVIE DATABASE Busca usando técnicas de RI MOVIE LINK C A B D Resultado da Busca Sistema de Integração de Informação Consulta usando linguagem apropriada
Sistema de Integração de Informação • Principais dificuldades: • Diferenças de modelagem entre as fontes. Nomes de atributos e tabelas diferentes de BD para BD; • BDs diferentes utilizam nomes diferentes para referenciarem o mesmo objeto. Ex: Uma pessoa pode ser chamada de Paulo Henrique Silva Couto e em outra fonte ser chamada de Paulo H. S. Couto.