Atualizações em Informática 2007 iniciais CS2.indd 1 13/6/2007 14:20:16
Reitor Pe. Jesus Hortal Sánchez, S.J. Vice-Reitor Pe. Josafá Carlos de Siqueira, S.J. Vice-Reitor para Assuntos Acadêmicos Prof. José Ricardo Bergmann Vice-Reitor para Assuntos Administrativos Prof. Luiz Carlos Scavarda do Carmo Vice-Reitor para Assuntos Comunitários Prof. Augusto Luiz Lopes Duarte Sampaio Vice-Reitor para Assuntos de Desenvolvimento Pe. Francisco Ivern, S.J. Decanos Profª Maria Clara Lucchetti Bingemer (CTCH) Profª Gisele Cittadino (CCS) Prof. Reinaldo Calixto de Campos (CTC) Prof. Francisco de Paula Amarante Neto (CCBM) iniciais CS2.indd 2 13/6/2007 14:20:17
Atualizações em Informática 2007 Tomasz Kowaltowski Karin Breitman Organizadores iniciais CS2.indd 3 13/6/2007 14:20:18
Editora PUC-Rio Rua Marquês de S. Vicente, 225 Projeto Comunicar Praça Alceu Amoroso Lima, casa da Editora Gávea Rio de Janeiro RJ CEP 22453-900 Telefax: (21)3527-1838/1760 Site: www.puc-rio.br/editorapucrio E-mail: edpucrio@vrc.puc-rio.br Conselho Editorial Augusto Sampaio, Cesar Romero Jacob, José Ricardo Bergmann, Maria Clara Lucchetti Bingemer, Fernando Sá, Gisele Cittadino, Reinaldo Calixto de Campos, Miguel Pereira. Capa e Projeto Gráfico José Antonio de Oliveira Revisão de originais Gilberto Scheid Sociedade Brasileira de Computação SBC Av. Bento Gonçalves, 9500 Setor 4 Prédio 43424 Sala 116 Bairro Agronomia Porto Alegre RS CEP 91.509-900 Caixa Postal 15012 - Porto Alegre - RS Telefax: (51)3308-6835/ 3308-7142 Site: www.sbc.org.br E-mail: sbc@sbc.org.br Todos os direitos reservados. Nenhuma parte desta obra pode ser reproduzida ou transmitida por quaisquer meios (eletrônico ou mecânico, incluindo fotocópia e gravação) ou arquivada em qualquer sistema ou banco de dados sem permissão escrita da Editora. Atualizações em informática 2007 / Tomasz Kowaltowski, Karin Breitman, organizadores. Rio de Janeiro: Ed.PUC-Rio; Porto Alegre : Sociedade Brasileira de Computação, 2007. 379 p. : il. ; 21 cm 1. Informática. 2. Algoritmos paralelos. 3. Teoria dos Jogos. 4. Arquitetura de computador. 5. Interação homem-máquina. I. Kowaltowski, Tomasz. II. Breitman, Karin. CDD: 004 iniciais CS2.indd 4 13/6/2007 14:20:18
Agradecimentos A Otávio Augusto Lazzarini Lemos e Fabiano Cutigi Ferrari, pela elaboração dos formatos utilizados para LaTeX, padrão dos volumes da série Atualizações em Informática. A Lisandro Granville, por seu apoio operacional junto ao sistema JEMS. À equipe da sede da SBC, em particular a Gabriela Conceição, pelo apoio operacional. Ao Comitê Gestor do Congresso da SBC, pelo apoio. Ao CNPq, CAPES e Finep, pelo apoio financeiro. À Editora PUC-Rio, pela revisão e qualidade gráfica. iniciais CS2.indd 5 13/6/2007 14:20:18
Editores Tomasz Kowaltowski, UNICAMP Karin Breitman, PUC-Rio Corpo Editorial Augusto Cezar Alves Sampaio, UFPe Cláudia Linhares Sales, UFC Cristina Gomes Fernandes, USP Edmundo Roberto Mauro Madeira, UNICAMP Edna Natividade da Silva Barros, UFPe Lisandro Zambenedetti Granville, UFRGS Marcelo Walter, UFPe Mariza Bigonha, UFMG Marta Mattoso, COPPE/UFRJ Ricardo Cordeiro Corrêa, UFC Taisy Weber, UFRGS iniciais CS2.indd 6 13/6/2007 14:20:18
Sumário Autores e linhas de pesquisa... 9 Apresentação... 11 Capítulo 1 Algoritmos paralelos eficientes para alguns problemas em processamento de cadeias de caracteres... 13 Capítulo 2 Uma breve introdução à Teoria dos Jogos com aplicações a Redes de Computadores... 57 Capítulo 3 Técnicas criptográficas modernas: algoritmos e protocolos... 115 Capítulo 4 Visualização de informações e a convergência de técnicas de computação gráfica e Interação Humano-Computador... 171 Capítulo 5 Métodos de pesquisa quantitativa e qualitativa para a Ciência da Computação... 221 Capítulo 6 Introdução à teoria e prática da Interação Humano-Computador fundamentada na Engenharia Semiótica... 263 Capítulo 7 Multiprogramação leve em arquiteturas multi-core... 327 iniciais CS2.indd 7 13/6/2007 14:20:19
iniciais CS2.indd 8 13/6/2007 14:20:19
Autores e linhas de pesquisa Capítulo 1 Siang Wun Song, IME/USP Desenvolvimento de algoritmos paralelos, arquiteturas paralelas Capítulo 2 Edmundo de Souza e Silva, PESC/COPPE e DCC/IM, UFRJ Redes de computadores, modelagem e análise de sistemas de computação, sistemas multimídia Daniel Ratton Figueiredo, PESC/COPPE, UFRJ Redes de computadores, aplicações de software para internet Capítulo 3 Ricardo Dahab, IC/UNICAMP Algoritmos e protocolos criptográficos, segurança da informação, teoria dos grafos Julio César López Hernández, IC/UNICAMP Algoritmos criptográficos, aritmética computacional e engenharia criptográfica Capítulo 4 Carla Maria Dal Sasso Freitas, Instituto de Informática, UFRGS Visualização de informações, visualização científica, interação humano-computador, realidade virtual Capítulo 5 Jacques Wainer, IC/UNICAMP Inteligencia artificial, sistemas colaborativos, informática médica, impactos sociais da informática Capítulo 6 Raquel Oliveira Prates, DCC/UFMG Interação humano-computador, engenharia semiótica, avaliação de sistemas interativos, interação em sistemas colaborativos e educacionais Simone Diniz Junqueira Barbosa, DI/PUC-Rio Interação humano-computador, engenharia semiótica, projeto e avaliação de IHC baseados em modelos, interfaces inteligentes e programação feita por usuários finais Capítulo 7 Gerson Geraldo Homrich Cavalheiro, DI/IFM/UFPel Processamento de alto desempenho, linguagens de programação, programação concorrente Rafael Ramos dos Santos, PPGSPI/UNISC Arquitetura de computadores, sistemas embarcados, microeletrônica, alto desempenho iniciais CS2.indd 9 13/6/2007 14:20:19
iniciais CS2.indd 10 13/6/2007 14:20:19
Apresentação É com grande prazer que apresentamos o segundo livro da série Atualizações em Informática. O objetivo desta série, iniciada em 2006, é oferecer a seus leitores textos concisos sobre temas que não fazem parte dos currículos regulares de graduação no Brasil. Escritos de maneira didática por pesquisadores com atuação reconhecida nesses temas, e revistos por um comitê editorial, esses textos são uma excelente referência para que acadêmicos e profissionais de informática possam se atualizar em temas relevantes e de ponta em Ciência da Computação. Os capítulos deste livro servem como companhia para os mini-cursos das Jornadas de Atualização em Informática (JAI) do ano de 2007. Tradicionalmente realizadas em conjunto com o Congresso da Sociedade Brasileira de Computação, as Jornadas constituem um dos mais importantes eventos acadêmicos de atualização científica e tecnológica da comunidade de Ciência da Computação do Brasil. Os mini-cursos das JAI são selecionados por um Comitê de Programa entre algumas dezenas de propostas submetidas por pesquisadores de várias instituições. Neste ano de 2007, a Coordenação das JAI inovou ao estabelecer que três desses mini-cursos seriam ministrados por pesquisadores convidados de reconhecido renome em suas áreas, cobrindo assuntos de muito interesse geral. Os três mini-cursos convidados correspondem aos três primeiros capítulos do volume aqui apresentado. Desta maneira, o livro constitui um leque variado de temas que certamente vai despertar o interesse de acadêmicos, profissionais e estudantes. O Capítulo 1 trata de algoritmos paralelos para processamento de cadeias de caracteres, um assunto muito atual em várias aplicações. O Capítulo 2 introduz a utilização da teoria dos jogos em estudo de redes de computadores. O Capítulo 3 cobre técnicas modernas de criptografia, assunto de suma importância para segurança de sistemas computacionais. O Capítulo 4 aborda visualização de informações e interação homem-computador. O Capítulo 5 sai um pouco da área estritamente técnica e discute métodos de pesquisa quantitativa e qualitativa para a ciência da computação. O Capítulo 6 traz uma introdução sobre interação humano-computador fundamentada na engenharia semiótica. Finalmente, o Capítulo 7 cobre o assunto muito atual de multiprogramação em arquiteturas multi-core. Os editores esperam que este segundo volume da série seja mais uma contribuição para a formação de estudantes e profissionais da área de Informática. Tomasz Kowaltowski Karin Breitman Organizadores 11 iniciais CS2.indd 11 13/6/2007 14:20:19