Ficha f14

Ficha de avaliação PRI2015

Processamento e Representação da Informação (MIEI)

O objectivo principal desta ficha é testar os conhecimentos obtidos até agora na análise documental, especificação de XML Schemas, geração automática de HTML através de stylesheets XSLT e programação de websites dinâmicos com PHP e JavaScript.


Considere o seguinte CFP duma conferência realizada este ano. Depois de o analisar brevemente, desenvolva as alíneas que se propõem a seguir.

SLATE 2015 - Symposium on Languages, Applications and Technologies (http://www.slate-conf.org/2015)
  18th - 19th June 2015
  Computer Science School – Complutense University of Madrid (Spain)
					
  Relevant Dates:
    * Paper submission: March 26, 2015
    * Author Notification: April 23, 2015
    * Final Paper Submission: May 14, 2015
    * Registration: June 1, 2015
    * SLATE Symposium: June 18-19, 2015
					
  We often use languages. First, to communicate between ourselves. Later, to communicate with computers. And more recently, with the advent of networks, we found a way to make computers communicate between themselves. All these different forms of communication use languages, different languages, but that still share many similarities. In SLATE we are interested in discussing these languages.
  Being languages such a broad subject, SLATE is organized in three main tracks:
					
    1) HCL Track: Processing Human-Computer Languages The HCL track is where researchers, developers and educators exchange ideas and information on the latest academic or industrial work on language design, processing, assessment and applications.
    2) CCL Track: Processing Computer-Computer Languages The CCL track main goal is to provide a broad space for discussion about the XML mark-up language: examples of usage and associated technologies.
    3) HHL Track: Processing Human-Human Languages The HHL track is dedicated to the discussion of research projects and ideas involving natural language processing and their industrial application.
					
  A detailed topic list for each one of these tracks is presented below.
					
  HCL Track: Processing Human-Computer Languages
    Programming language concepts and methodologies; Language and Grammars, design, formal specification and quality; Design of novel language constructs and their implementation; Domain Specific Languages design and implementation; Programming tools; Programming, refactoring and debugging environments; Dynamic and static analysis: Program Slicing; Program Comprehension; Program Visualization and Animation; Compilation and interpretation techniques; Code generation and optimization; Programming Languages teaching methods;
					
  CCL Track: Processing Computer-Computer Languages
    Semantic Web and Ontologies; Methodologies for specification in XML XML compression, serialization and merging XML Parsing and Querying; XML Structuring XML Transformation XML Security Web Services -- Architectures and Practical Cases Web Technologies and Frameworks XML Libraries and digital repositories E-learning systems, standards and interoperability Serialization languages
					
  HHL Track: Processing Human-Human Languages
    Computational morphology, syntax and semantics; Machine translation and tools for computer assisted translation; Computational terminology and lexicography; Speech synthesis and understanding; Information retrieval, extraction and automatic question answering; Corpora linguistics; NLP system and resource evaluation; Public tools and resources for NLP; Ontologies and knowledge representation; Statistical Methods applied to NLP; Language teaching support tools.
					
  SLATE Publication Policy and Authors Information
					
 All accepted papers will be published in the conference proceedings, under an ISBN reference, on paper and digital support. In addition, we are currently envisioning several publication follow-ups for SLATE’15 (more information will be posted later on the conference website):
    * A post-proceeding volume with revised versions of the papers presented at the conference published by a major editor.
    * Special sections on ISI WoK – JCR indexed journals integrating extended versions of the best papers.
					
  Papers should be written in English, using the Springer conference series template, and should not exceed 10 pages. Please refer to the submissions page in the website for details about the document preparation.
					
  Contact and Updates
    Updates are regularly posted in the symposium webpage and notified through different social networks (e.g., @slateorg at Twitter; check the symposium webpage for details); Organizers can be contacted using slate2015@easychair.org.
					
  Symposium Chair
    * José-Luis Sierra-Rodríguez (Complutense University of Madrid, Spain)
					
  Track chairs
    * Alberto Simões (Universidade do Minho, Portugal - HHL Track)
    * José Paulo Leal (Universidade do Porto, Portugal - CCL Track)
    * José-Luis Sierra-Rodríguez (Complutense University of Madrid, Spain – HCL Track)
					
  Organization Committee
    * Pedro Rangel Henriques (Universidade do Minho, Portugal)
    * José Paulo Leal (Universidade do Porto, Portugal)
    * Alberto Simões (Universidade do Minho, Portugal)
    * Maria João Varanda (Instituto Politécnico de Bragança, Portugal)
    * José-Luís Sierra-Rodriguez (Universidad Complutense de Madrid, Spain)
    * Antonio Sarasa-Cabezuelo (Universidad Complutense de Madrid, Spain)
    * Antonio Pareja-Lora (Universidad Complutense de Madrid, Spain)
    * Ana Fernandez-Pampillon (Universidad Complutense de Madrid, Spain)
    * Daniel Rodriguez-Cerezo (Universidad Complutense de Madrid, Spain)
					
  For Program Committes please look at
    http://www.slate-conf.org/2015

Agora pretende-se que:

  1. Desenvolva um XML Schema para uma linguagem XML para a descrição de CFPs;
  2. Crie uma instância XML para o XML Schema que desenvolveu e preencha-a com a informação do CFP fornecido;
  3. Pense numa página HTML para o CFP e especifique uma stylesheet XSLT para a gerar automaticamente. Aplique-a à sua instância gerando a respetiva versão HTML.
  4. Empacote tudo, criando um PR e envie ao docente.

Neste exercício, vais criar um protótipo do Twitter/Facebook (sem imagens ou ficheiros e sem autenticação). Como o problema é complexo, as alíneas foram criadas numa ordem lógica de modo a obter o resultado final pretendido. Estas estão escalonadas por grau de dificuldade e dependência, ou seja, a primeira é a mais fácil mas também é essencial para poderes desenvolver a que vem a seguir e por aí adiante.

  1. Fig.1: Estado inicial da aplicação "MyTwitter"

    Como se pode ver na imagem inicial, a página Web tem 2 áreas: uma primeira área que contem um formulário que permite adicionar novos tópicos ou "tweets" e uma segunda área, que inicialmente se apresenta vazia, onde se vão listar os "tweets" à medida que estes forem sendo introduzidos.

    Nesta alínea, cria a página Web e as scripts necessárias para adicionar um tweet (tem atenção que vais ter de guardar o estado, ou seja, quando o utilizador clicar no botão "Adicionar" duas coisas têm de acontecer: o conteúdo da área "Discussões" terá de mudar acomodando o novo tweet e o mesmo deverá ter sido registado numa base de dados ou ficheiro XML.

    Fig.2: Tweet pronto a ser adicionado

  2. Na continuação da alínea anterior, quando o tweet for adicionado, o formulário deverá ficar vazio, como se mostra na imagem seguinte após a adição do 1º tweet.

    Fig.3: Aplicação após a adição do 1º tweet

  3. Ainda na continuação da alínea anterior, acrescenta o código necessário para, quando um novo utilizador aceder à aplicação, carregar na página inicial os tweets que estiverem armazenados no sistema de informação que definiste.

  4. Fig.4: Aplicação após a adição do 2º tweet

  5. Já deves ter reparado que quando um tweet é adicionado, aparece um botão com a label "Gosto (0)", em que o 0 representa um contador. Nesta alínea, deverás acrescentar o código necessário para que sempre que um utilizador clique num gosto o contador seja incrementado. Não te esqueças que estes contadores também devem ser armazenados no sistema de informação junto do tweet a que dizem respeito.

  6. Fig.5: Aplicação após alguns cliques nos gostos