Grupo de Tecnologias da Informação GTI - DCC - UFAM - PowerPoint PPT Presentation

azizi
grupo de tecnologias da informa o gti dcc ufam n.
Skip this Video
Loading SlideShow in 5 Seconds..
Grupo de Tecnologias da Informação GTI - DCC - UFAM PowerPoint Presentation
Download Presentation
Grupo de Tecnologias da Informação GTI - DCC - UFAM

play fullscreen
1 / 59
Download Presentation
Grupo de Tecnologias da Informação GTI - DCC - UFAM
107 Views
Download Presentation

Grupo de Tecnologias da Informação GTI - DCC - UFAM

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Grupo de Tecnologias da InformaçãoGTI - DCC - UFAM Abril - 2003

  2. 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

  3. Linhas de Pesquisa • Síntese de Web Sites • Gerência de dados na Web • Recuperação de Informação

  4. 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

  5. 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

  6. Tese de doutorado do João Técnicas de Lógica Computacional para Construção Automática de Web Sites

  7. 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/

  8. 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

  9. Lógica Computacional Por que lógica ? • Especificação declarativa e processamento procedimental • Representação de conhecimento e raciocínio automático • Metaprogramação

  10. 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

  11. 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

  12. Arquitetura

  13. 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

  14. Especificação em Alto Nível • Modelagem Conceitual da aplicação • Experimentos realizados com o modelo Entidade-Relacionamento • Outros formalismos: UML, ODMG, Ontologias, etc.

  15. 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

  16. 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)

  17. 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.

  18. 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

  19. Transições • Representam a estrutura de navegação InfoLabelDisplayLabel DisplayLabelDisplayLabel OperationIdDisplayLabel

  20. 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

  21. 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.

  22. Apresentação

  23. 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

  24. 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

  25. 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)

  26. 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)}

  27. 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})

  28. 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, _)

  29. 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)

  30. Síntese • Estruturas auxiliares link(Info, SetInfo) page(SetInfo, SetLinks, SetOp) WebSite = {page(SetInfo1, SetLinks1, SetOp1), …, page(SetInfon, SetLinksn, SetOpn)}

  31. 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).

  32. 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

  33. 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

  34. 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

  35. Verificação de Propriedades • Acessibilidade • I  D ou • I  Dt  It  Dt  It * D • D D’ I homepage(D)  D’D  • ID  I * D’

  36. 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

  37. 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

  38. Manutenção Automática • Arquitetura do sistema de síntese e agentes de manutenção

  39. Manutenção Automática • Arquitetura do sistema de síntese e agentes de manutenção

  40. 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

  41. 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

  42. Trabalhos Futuros • Entradas alternativas: • UML • Ontologia • Saídas Alternativas: • XML • WML • PDF • Sistema de Gerência de Conteúdo

  43. Trabalhos Futuros • Manutenção automática • Integração com métodos para Recuperação de Informação

  44. 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

  45. Integração de dados • Objetivo: Ser capaz de integrar informações textuais de fontes estruturadas heterogêneas

  46. 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.

  47. 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

  48. 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...

  49. 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

  50. 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.