INSTITUTO DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE CAMPINAS

Tamanho: px
Começar a partir da página:

Download "INSTITUTO DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE CAMPINAS"

Transcrição

1 INSTITUTO DE COMPUTAÇÃO UNIVERSIDADE ESTADUAL DE CAMPINAS Anais do VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica em Andamento do IC-UNICAMP Alex Grilo Ariadne Carvalho Daniel Cugler Ewerton Silva Gustavo Alkmim Ivelize Rocha Leonardo Tampelini Lucas Watanabe Jefersson dos Santos Joana Malaverri Juliana de Santi Roberto Pereira Rodolfo Meneguette Tiago Falcão Walisson Pereira Technical Report - IC Relatório Técnico June Junho The contents of this report are the sole responsibility of the authors. O conteúdo do presente relatório é de única responsabilidade dos autores.

2 Apresentação Este relatório técnico contém os resumos de 28 trabalhos apresentados no VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica, do Instituto de Computação da Universidade Estadual de Campinas (wtd-ic-unicamp 2012). O Workshop ocorreu nos dias 22 e 23 de maio de 2012, e contou com aproximadamente 150 participantes, entre ouvintes, apresentadores de trabalhos e organizadores. Na ocasião houve 28 apresentações orais e 10 pôsteres. Aos alunos foi dada a possibilidade de escolher a forma de apresentação (oral, pôster, ou ambas). A publicação dos resumos, sob a forma de relatório técnico, tem por objetivo divulgar os trabalhos em andamento e registrar, de forma sucinta, o estado da arte da pesquisa do ic no ano de Neste ano, a palestra de abertura, intitulada Tecnologia da Informação - Panorama e Perspectiva no Brasil, foi proferida pelo Professor Virgílio Almeida, Secretário de Política de Informática do Ministério de Ciência e Tecnologia (mct) e professor da Universidade Federal de Minas Gerais (ufmg). Também houve um minicurso intitulado Fundamentos de Estatística para Computação, ministrado pelo Professor Jorge Stolfi, do ic. Tanto a palestra como o minicurso foram gravados e transmitidos online. Agradeço aos alunos que participaram do evento, em particular àqueles que se dispuseram a apresentar seus trabalhos, seja oralmente ou na forma de pôsteres, bem como aos orientadores que os incentivaram a fazê-lo. Agradeço, também, aos professores e alunos de doutorado do ic que compuseram as bancas de avaliação dos trabalhos. Agradeço ao Professor Hans Liesenberg, diretor do ic, e ao Professor Paulo Lício de Geus, coordenador da Pós-Graduação, pelo incentivo, apoio e patrocínio ao evento. Finalmente, agradeço imensamente aos alunos do programa de Pós-Graduação do ic que efetivamente organizaram o evento e que são coeditores deste relatório Alex Grilo, Daniel Cugler, Ewerton Silva, Gustavo Alkmim, Ivelize Rocha, Jefersson dos Santos, Joana Malaverri, Juliana de Santi, Leonardo Tampelini, Lucas Watanabe, Roberto Pereira, Rodolfo Meneguette, Tiago Falcão e Walisson Pereira. A eles dedico o VII Workshop de Teses, Dissertações e Trabalhos de Iniciação do ic. Ariadne Maria Brito Rizzoni Carvalho Coordenadora do vii wtd Professora do Instituto de Computação - unicamp

3 Sumário 1 Resumos estendidos A High Availability Solution for The Hadoop Distributed File System. André Oriani and Islene C. Garcia Aprendizado Ativo com Redução de Dados Efetiva. Priscila Tiemi Maeda Saito, Pedro Jussieu de Rezende e Alexandre Xavier Falcão A Project Management Game-based learning tool. Vitor Ciaramella and Mario Lúcio Côrtes (Advisor) Aprovisionamento de Lightpath Inter-domínio. Alisson Soares Limeira Pontes e Nelson Luis Saldanha da Fonseca AVD-total-coloring of complete equipartite graphs. A. G. Luiz, C. P. de Mello, and C. N. Campos Caminhos Mínimos com Classes em Grafos. Rafael F. dos Santos, and Eduardo C. Xavier Classificação Multi-Escala de Imagens de Sensoriamento Remoto. Jefersson Alex dos Santos, Ricardo da S. Torres, e Alexandre X. Falcão Desenvolvimento de um Banco de Dados para o Projeto e- phenology. Greice Cristina Mariano, Ricardo da Silva Torres e Leonor Patricia C. Morellato Diretrizes para modelagem de aplicações Web 2.0 com diagrama de máquina de estados da UML. Caroline Letizio e Eliane Martins ESLBench: A Benchmark Suite for Evaluating Eletronic System Level Designs. Liana Duenha and Rodolfo Azevedo Fulkerson s Conjecture and Loupekine s Snarks. Kaio Karam Galvão, and C. N. Campos Geração Automática de Casos de Testes Executáveis a partir de Casos de Teste Abstratos para Aplicações Web. Érika Regina Campos de Almeida e Eliane Martins

4 3 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 1.13 Geração automática de máquinas finitas de estados estendidas a partir de documento em língua natural. Juliana Galvani Greghi, Eliane Martins e Ariadne M. B. R. Carvalho GWIDO - Games with Interaction Design Objective. Roberto Romani and Maria Cecília C. Baranauskas Mapeamento de Redes Virtuais em Sustratos de Rede. Gustavo Prado Alkmim, Nelson Luis Saldanha da Fonseca Metodologia de Testes de Robustez por Injeção de Falhas para WS-Security. Marcelo Invert Palma Salas and Eliane Martins Metodologia para Projeto e Gestão da Segurança para Computação em Nuvem. Carlos Alberto da Silva and Anderson Soares Ferreira Qualidade Afetiva em Sistemas de Informação Design de Interação para e com Crianças em Contexto de Aprendizado. Elaine C. S. Hayashi e M. Cecilia C. Baranauskas Recuperação de Vídeos Comprimidos por Conteúdo. Jurandy Almeida, Neucimar J. Leite e Ricardo da S. Torres Squared Metric Facility Location Problem. Flávio K. Miyazawa (Advisor), Lehilton L. C. Pedrosa Transaction Scheduling Using Dynamic Conflict Avoidance. Daniel Nicácio, Alexandro Baldassin, and Guido Araújo Um Oráculo para Teste de Robustez Baseado em Algoritmos de Alinhamento de Sequências. Gizelle Sandrini Lemos e Eliane Martins Resumo dos pôsteres Adaptação de Workflows Sensível ao Contexto para Atividades de Enfermagem. Bruno S. C. M. Vilar, Claudia M. B. Medeiros e André Santanchè Interfaces Autoajustáveis em Websites: Contribuições em Direção ao Design para Todos. Vagner Figueredo de Santana and Maria Cecília Calani Baranauskas MediaBox. Flávia de Oliveira Santos e Guido Araújo Rede de Autoridades e Apoio às Interações Sociais na Web: Uma Abordagem Culturalmente Informada. Roberto Pereira e M. Cecília C. Baranauskas Seleção de código elegível para Conservation Cores. Tiago Falcão, Rodolfo Azevedo Suporte em hardware para execução especulativa de software. Raoni Fassina Firmino, Edson Borin, Rodolfo Azevedo

5 3 Programação do WTD 96

6 1. Resumos estendidos A ciência descreve as coisas como são; a arte, como são sentidas, como se sente que são. Fernando Pessoa

7 Resumos estendidos 6 A High Availability Solution for The Hadoop Distributed File System André Oriani and Islene C. Garcia High Performance Computing environments and data-intensive applications require reliable storage systems that can provide data with high throughput and consistency. Thus they typically adopt cluster-based parallel file systems. That class of distributed file systems is usually characterized by decoupling data from metadata. In those systems a metadata server is responsible for managing the file system tree, handling client requests, and for taking data placement decisions. Files are divided into fixed size chunks that are distributed among storage nodes. The storage nodes not only store the data chunks, but they are also directly contacted by clients for I/O operations. Although simple and efficient, this architecture presents a problem. Because the metadata server is the entry point of the system for clients, it is also a single point of failure: when it crashes it takes the entire file system down. Some cluster-based parallel file systems attempt to minimize this situation. Google File System [1] and Lustre [2] employ journalling. Every change to the file system tree is recorded to a log on a shared storage. In this case, once detected the failure of the metadata server, a monitoring system can start a new one in a healthy machine. Panasas [3] employs namespace partitioning. Disjoint portions of the file system are stored into different metadata servers. So if a metadata server fails only part of the file system will be unavailable. Ceph [4] extends the partitioning approach by making it dynamic and based on the workload. Very popular sub-trees can be replicated to many metadata servers albeit only one of them remains as the authority for updates. Despite those efforts, they still make cluster-based parallel file systems unsuitable for 24x7 workloads. Restarting a metadata server can take several minutes, what may not be acceptable in such scenario. Our contribution to the described panorama was to develop a hot standby for the Hadoop Distributed File Systems (HDFS) [5]. HDFS is a cluster-based parallel file system and a core component of the Apache Hadoop, one of the most widely used distributed frameworks to process large data sets. Our hot standby tries to keep an up-to-date copy of the state of HDFS s metadata server, enabling it to take over the failed server in a small period of time. Prototype Implementation For our prototype implementation we took advantage of the checkpoint helper node of metadata server. We augment the state replication that it already did in order to include other state components, so it could be able to handle client requests. We modified the storage nodes to also send status information to our hot standby.

8 7 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica We also implemented an automatic failover mechanism using ZooKeeper [6], Hadoop s distributed coordination service, as failure detector. Zookeeper also servers as distributed configuration server providing the address of the current active metadata server to clients. Results We tested our prototype on a cluster of 43 nodes at Amazon EC2. We submitted it under workloads dominated by metadata and I/O operations. In any of the two scenarios, the average read and write throughput performance was never worst than 85% of the original HDFS. The time to switch the hot standby to active stayed around 50 ms. Conclusions and Future work Our test results showed that our prototype met our expectations. The overhead introduced by our hot standby node was low and the standby could quickly switch to an active role. Our future work include improvements on the developed solution to confer more failure transparency to the users and investigation of architectures for a metatada server that could help the development of better high availability solutions. Referências [1] Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung. The Google File System. SIGOPS Oper. Syst. Rev., 37(5):29 43, [2] Lustre. Last access on April 23rd, [3] Brent Welch, Marc Unangst, Zainul Abbasi, Garth Gibson, Brian Mueller, Jason Small, Jim Zelenka, and Bin Zhou. Scalable Performance of the Panasas Parallel File System. In FAST 08: Proceedings of the 6th USENIX Conference on File and Storage Technologies, pages 1 17, Berkeley, CA, USA, USENIX Association. [4] Sage A. Weil, Scott A. Brandt, Ethan L. Miller, Darrell D. E. Long, and Carlos Maltzahn. Ceph: a Scalable, High-performance Distributed File System. In OSDI 06: Proceedings of the 7th symposium on Operating systems design and implementation, pages , Berkeley, CA, USA, USENIX Association. [5] Konstantin Shvachko, Hairong Kuang, Sanjay Radia, and Robert Chansler. The Hadoop Distributed File System. In Mass Storage Systems and Technologies (MSST), 2010 IEEE 26th Symposium on, pages 1 10, [6] Patrick Hunt, Mahadev Konar, Flavio P. Junqueira, and Benjamin Reed. Zookeeper: wait-free coordination for internet-scale systems. In Proceedings of the 2010 USENIX conference on USENIX annual technical conference, USENIX- ATC 10, pages 11 11, Berkeley, CA, USA, USENIX Association.

9 Resumos estendidos 8 Aprendizado Ativo com Redução de Dados Efetiva Priscila Tiemi Maeda Saito, Pedro Jussieu de Rezende e Alexandre Xavier Falcão Em diversas áreas das ciências e engenharias, a quantidade de informações vem aumentando consideravelmente, devido aos meios de aquisição, capacidade de armazenamento e comunicação, produzindo grandes bases de dados. A anotação de parte dos dados pelo ser humano auxilia o aprendizado de um modelo computacional capaz de organizá-los em categorias. No entanto, o aumento das bases de dados torna inviável a anotação prévia de um número muito grande de amostras de treinamento, criando a necessidade de minimizar o envolvimento do ser humano e ao mesmo tempo garantir o sucesso do aprendizado. Nesse sentido, nossa metodologia adota aprendizado ativo, onde um conjunto pequeno de amostras deve ser selecionado a cada iteração do aprendizado. Na primeira iteração, as amostras deste conjunto são rotuladas pelo usuário. Tais amostras são utilizadas para treinar um classificador, o qual auxilia o usuário no processo de anotação, rotulando as amostras selecionadas na iteração seguinte. Após a primeira iteração, o usuário anota somente as amostras classificadas erroneamente. A cada iteração subsequente, o classificador é atualizado com todas as amostras previamente rotuladas até que o usuário esteja satisfeito com o índice de acerto do classificador sobre as amostras selecionadas. Uma vez satisfeito, o classificador pode então ser utilizado para rotular o restante da base. O grande desafio se concentra na seleção de amostras, a qual deve considerar alguns aspectos, como: Quantas amostras devem ser utilizadas no processo de aprendizado? Como garantir a seleção de amostras mais informativas para que o classificador aprenda mais rapidamente? Em trabalho recente, propusemos uma solução que tem como objetivo responder a essas questões de uma maneira satisfatória. Nossa solução consiste basicamente em realizar um pré-processamento, o qual possibilita a seleção de um conjunto reduzido, bem como a organização das amostras deste conjunto. Este pré-processamento consiste em realizar o agrupamento das amostras de forma a reduzir significativamente o conjunto de dados não anotados a um conjunto menor contendo amostras mais representativas a serem utilizadas no processo de aprendizado. O agrupamento é realizado de tal forma que o número de grupos seja maior que o número de classes, aumentando a possibilidade de obter amostras de todas as classes, ao selecionar amostras representativas de cada grupo. O conjunto reduzido é formado pelas fronteiras entre grupos, aumentando as chances desse conjunto conter amostras de fronteira entre classes. A organização dos dados utiliza uma escolha aleatória de amostras do conjunto reduzido. Tal estratégia difere completamente da abordagem baseline, em que as amostras são selecionadas aleatoriamente da base de dados inteira. Diferentes estratégias de aprendizado ativo [1, 10, 5, 2, 8, 4, 3] também têm sido

10 9 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Conjunto de Dados Não Anotados Conjunto de Dados Anotados Redução e Organização Conjunto Reduzido Seletor de Dados Classificador Treinamento Seleção e Classificação Ciclo de Aprendizado Não Rotulados (primeira iteração) Rotulados Dados Anotados Usuário Figura 1: Fluxo da abordagem de aprendizado ativo proposta. propostas e amplamente utilizadas. No entanto, muitas delas tem se concentrado na classificação de todas as amostras do conjunto, seguida da organização e seleção das mesmas, a cada iteração do aprendizado. Para grandes bases de dados, isso torna-se bastante ineficiente ou até mesmo inviável de ser realizado computacionalmente. Sendo assim, a abordagem de aprendizado ativo proposta mostra-se mais adequada para lidar com grandes conjuntos de dados, visto que realiza a redução e organização dos dados uma única vez (a priori). Além disso, requer a classificação de apenas um conjunto reduzido de amostras, a cada iteração do aprendizado. Dessa forma, é possível reduzir drasticamente o tempo e o esforço despendidos pelo usuário. A Figura 1 ilustra o fluxo de execução da abordagem de aprendizado ativo proposta. Com o intuito de demonstrar a efetividade da abordagem proposta, foi desenvolvida uma instância denominada Cluster-OPF-Rand, utilizando um classificador baseado em florestas de caminhos ótimos (OPF), o qual é aplicado às fases de agrupamento [9] e classificação [7, 6]. Para os experimentos foram utilizados conjuntos de dados de diferentes domínios. Devido à limitações de espaço, são explicitados os resultados obtidos a partir de um desses conjuntos. O conjunto empregado, denominado Faces, é disponibilizado publicamente pela University of Notre Dame [11]. Nesse trabalho, foi utilizado um sub-conjunto contendo 1864 amostras, classificadas em 54 classes e descritas por 162 características. A Tabela 1 apresenta a comparação de eficácia entre Cluster-OPF-Rand e a abordagem tradicional OPF-Rand, na qual, a cada iteração, são selecionadas aleatoriamente amostras do conjunto de aprendizado inteiro. Para explicitar tal análise são apresentados o valor médio de acurácia sob um conjunto de teste, bem como o total de imagens anotadas por ambos os métodos. Pode-se observar a partir da comparação realizada que o método Cluster-OPF- Rand apresenta melhor desempenho inicial em relação ao OPF-Rand. Além disso, o mesmo atinge altos níveis de acurácia mais rapidamente. Para atingir os mesmos níveis de acurácia apresentados pelo Cluster-OPF-Rand, o método OPF-Rand re-

11 Resumos estendidos 10 Faces Acurácia (%) Total Imagens Anotadas (%) Iteração Cluster-OPF-Rand OPF-Rand Cluster-OPF-Rand OPF-Rand Tabela 1: Acurácias e total de imagens anotadas pelos métodos Cluster-OPF-Rand e OPF-Rand considerando o conjunto Faces. quer um número elevado de imagens anotadas pelo usuário, bem como mais iterações de aprendizado. Após 5 iterações, os métodos Cluster-OPF-Rand e OPF-Rand, apresentaram acurácias de 98.85% e 98.78%, respectivamente, bem como 8.68% e 9.98% de imagens de aprendizado anotadas pelo usuário. Em uma situação prática, podemos considerar que um usuário estaria satisfeito com tais acurácias. Além disso, os experimentos também demonstraram que é possível reduzir o tamanho do conjunto de treinamento final em mais de 90%, bem como obter uma acurácia de classificação acima de 97%. A estratégia de redução proposta torna-se muito importante em um processo em que o objetivo é limitar o número de iterações de aprendizado. Sendo assim, selecionar amostras que aceleram a melhoria do classificador ao longo das iterações torna-se fundamental. Cluster-OPF-Rand permite obter o melhor classificador com um número mínimo de iterações e interações com o usuário, o qual corrige menos rótulos em relação ao OPF-Rand. Outras maneiras de explorar a redução e organização de dados podem ser desenvolvidas, como por exemplo, estabelecer previamente critérios de ordenação, levando-se em consideração a organização dos dados no espaço de características. Referências [1] A. T. da Silva, A. X. Falcão, and L. P. Magalhães. Active learning paradigms for CBIR systems based on optimum-path forest classification. Pattern Recognition, 44: , [2] A. Holub, P. Perona, and M.C. Burl. Entropy-based active learning for object recognition. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), pages 1 8, [3] P. Jain and A. Kapoor. Active learning for large multi-class problems. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages , 2009.

12 11 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica [4] A. Kapoor, K. Grauman, R. Urtasun, and T. Darrell. Gaussian Processes for Object Categorization. International Journal of Computer Vision, 88: , [5] X. Li, L. Wang, and E. Sung. Multi-label SVM Active Learning for Image Classification. In IEEE International Conference on Image Processing (ICIP), volume 4, pages , [6] J. P. Papa, A. X. Falcão, V. H. C. de Albuquerque, and J. M. R. S. Tavares. Efficient supervised optimum-path forest classification for large datasets. Pattern Recognition, 45: , [7] J. P. Papa, A. X. Falcão, and C. T. N. Suzuki. Supervised pattern classification based on optimum-path forest. International Journal of Imaging Systems and Technology (IJIST), 19(2): , [8] G.-J. Qi, X.-S. Hua, Y. Rui, J. Tang, and H.-J. Zhang. Two-dimensional multilabel active learning with an efficient online adaptation model for image classification. IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 31(10): , [9] L. M. Rocha, F. A. M. Cappabianco, and A. X. Falcão. Data clustering as an optimum-path forest problem with applications in image analysis. International Journal of Imaging Systems and Technology (IJIST), 19(2):50 68, [10] S. Tong and D. Koller. Support vector machine active learning with applications to text classification. Journal of Machine Learning Research, 2:45 66, [11] UND. Biometrics database distribution. The Computer Vision Laboratory, University of Notre Dame, 2011.

13 Resumos estendidos 12 A Project Management Game-based learning tool Vitor Ciaramella and Mario Lúcio Côrtes (Advisor) Project management has become a mandatory discipline in several organizations that need to get better results and be more competitive [1]. From small to large companies and in many industries we have witnessed an increasing number of complex projects [2] that require competent and qualified professionals to formally manage several aspects of a project. As a consequence, the role of the project manager has been valued and demanded for [3], but the industry and the academy have not been able to supply these professionals. Although there are several reference models and bodies of knowledge regarding project management, it has been a challenge to teach new project managers using traditional methods. Traditional methods are instructor-led training and mainly focus on the theory and the assessment of the theory through certification mock exams. They weakly cover how to apply theory into practice, and leave aside skills and behaviors development [4]. Practice is necessary, but incorporating real experience in a real environment can be risky, costly and slow, since it can lead to project failures due to the inexperience of the novice project manager. In addition, it is not scalable because we limit the number of project manager trainees to the number of real projects that would tolerate being managed by a novice project manager. The use of simulations is a good solution to the problem above, because it allows the novice project manager to fail without real losses, to learn from failure and to try different approaches (using what-if analysis, for instance) to solve real-based scenarios [5]. Another important aspect of using simulations in a blended-learning environment (classroom + e-learning + games + simulations) is that it is more adequate and effective for the coming generation of students [5] [6]. In addition, entertainment has been an important factor in learning as a motivation driver [7]. There are several project management games and simulators developed by the academy and industry as there are classroom and online courses on project management. There are complex professional simulators and simple educational games, but it is difficult to find a game which is fun enough to be considered a game and complex enough to support a real-based scenario. Furthermore, most educational-game developers forget to include important components for the blended-learning experience, such as course design, classroom instruction, the learning assessment, as well as incorporating professional project management models, such as the PMBoK [9]. This master s project aims to fill this gap and deliver a complete blended-learning package that helps project management instructors to: Pre-assess student s knowledge; Teach the theory; Offer a hands-on simulation game to students;

14 13 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Debrief the simulation experience; Assess students acquired knowledge using professional certifications (i.e. PMP [8]) mock tests; Assess students acquired experience through the simulation results. It is expected that these deliverables will enhance the traditional project management education improving the acquisition and retention of knowledge as well as creating virtual experiences that reach the real world. We have been using several resources and methods, including: Best practices of project Management (Scrum and PMBoK); Best practices of software engineering (RUP, XP, TDD); Best practices of digital educational games; ( [10], [11], [5], [12], [13], [19], [20]); State-of-the-art technologies (Microsoft.Net 4.5, Microsoft Windows Azure, Apache Hadoop) refs Standards and professional project management reference models (Scrum, PM- BoK and PRINCE2) to create the simulated game content ; Best practices of blended-learning education evaluation, including: Quantitative and qualitative surveys; Controlled experiments with three waves of project management training using the tool. The most critical challenge of this project is how we will evaluate the results and we are committed to systematically analyze whether the expected outcomes were achieved and what worked well or not. However, it is well-known that the evaluation of entertaining and educational methods is an essentially subjective and complex task [14]. In the realm of social sciences research, several works [15] describe effects that disturb the evaluation of results, such as: Hawthorne, Placebo, John Henry, Halo, Jastrow and Pygmalion effects. Despite that, there are important publications ( [16], [17], [18], [21]) that we will take into consideration and use in our search for reliable conclusions. The project has started in November 2010, went through two 3 months recessions, and is expected to be completed by August In these 17 months of work, we had the following lessons-learned and early-findings: We initially started managing the project using the Scrum agile framework and it worked well in the first 6 months while we had full dedication to the project. When that situation changed, it became impossible to complete the Scrum sprints due to lack of resource commitment. In this new scenario, we

15 Resumos estendidos 14 switched to a Lean/Kanban [22] approach where the velocity/development rate was based on the available resources. It also became important to break-down the project scope in smaller units to have greater visibility on the remaining work. In the beginning of the project, 94 academic references from 2001 to 2010 were found and had a close match to this project. After 17 months, 101 new academic references from 2011 to 2012 were found using the same search terms, an increase of 107% in less than 2 years. We have developed 7 prototypes and redesigned the game engine 3 times in order to support more complex scenarios and implement an extensible and scalable architecture. The current architecture is a 4-layer service-oriented architecture (Presentation, Service, Model, Data) and the Model layer has also 4 layers of abstraction, from the reference model (i.e. PMBoK) to the user model (an instance of a scenario being played by the user). The models were modeled using a generic ontology framework that can support several bodies of knowledge and reference models such as the PMBoK, PRINCE2, TOGAF and Scrum and the game simulation engine is structured as a set of composite components chained in a MapReduce-based pipeline that favors flexibility, parallelism and scalability. References [1] Balestrero, Gregory. A CEO s Perspective on Project Management - Now More Than Ever. Project Management Institute, [2] Kerzner, Harold. Best Practices: Achieving Global Excellence. Wiley, [3] Levinson, Meridith. Why Project Management Certifications Matter. CIO.com, [4] Prikladnicki, Rafael and Wangenheim, Christiane Gresse von. O Uso de Jogos Educacionais para o Ensino de Gerência de Projetos de Software [5] Prensky, Marc. Digital Game-Based Learning. Paragon House, [6] Prensky, Marc. Teaching Digital Natives: Partnering for Real Learning. Corwin, [7] Alcântara, Alex Sander. Jogo para vestibulandos. Agência FAPESP, http: // [8] Project Management Institute Project Management Professional (PMP). Project Management Institute - PMI, CareerDevelopment/Pages/AboutCredentialsPMP.aspx

16 15 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica [9] Project Management Institute A guide to the project management body of knowledge - PMBOK Guide. Project Management Institute - PMI, [10] Collins, Allan and Halverson, Richard Rethinking Education in the Age of Technology: The Digital Revolution and Schooling in America. Teachers College Press, [11] Aldrich, Clark The Complete Guide to Simulations and Serious Games. Pfeiffer, [12] Hoffmann, Leah Learning Through Games. Communications of the ACM. 2009, Vol. 52, 8. [13] Järvinen, Aki Game Design for Social Networks. My Game Studies.. Online, game-design-social-networks-part-1 [14] Oliver, Martin An introduction to the Evaluation of Learning Technology. Educational Technology & Society. 2000, Vol. 3 [15] Draper, Stephen W. The Hawthorne, Pygmalion, Placebo and other effects of expectation: some notes. Online, hawth.html [16] Freitas, Sara de and Oliver, Martin How can exploratory learning with games and simulations within the curriculum be most effectively evaluated?. Computers & Education, 2006, Vol. 46 [17] Stufflebeam, Daniel L. and Shinkfield, Anthony J. Evaluation Theory, Models, and Applications (Research Methods for the Social Sciences). Jossey-Bass, 2007 [18] Wiersma, William and Jurs, Stephen G. Research Methods in Education: An Introduction. Peacock Pub Inc., 2008 [19] Schell, Jesse The Art of Game Design: A book of lenses. Morgan Kaufmann, 2008 [20] Feinberg, Joseph Debriefing in Simulation Games: An Examination of Reflection on Cognitive and Affective Learning Outcomes. LAP LAMBERT Academic Publishing, 2011 [21] Savi, Rafael Avaliação de jogos voltados para a disseminação do conhecimento. Universidade Federal de Santa Catarina, 2011 [22] Shalloway, A., Trott, James R., Beaver, G. Lean-Agile Software Development: Achieving Enterprise Agility. Addison-Wesley Professional, 2009

17 Resumos estendidos 16 Aprovisionamento de Lightpath Inter-domínio Alisson Soares Limeira Pontes e Nelson Luis Saldanha da Fonseca 1 Contexto Apesar dos avanços em aprovisionamento de caminhos ópticos intra-domínio em redes ópticas com multiplexação por divisão de comprimento de onda (WDM), esquemas eficientes para cálculo de rota e divulgação de disponibilidade de recursos em redes multi-domínio em malha ainda estão em fase inicial de estudo. Algumas propostas existentes tratam de questões específicas tais como escalabilidade na divulgação de informações de estado da rede para realização do cálculo de caminhos ópticos fim-a-fim [1, 2, 3, 4]. Duas são as principais abordagens para solução de questões multi-domínio: as baseadas no protocolo Border Gateway Protocol (BGP) e as baseadas na arquitetura PCE (Path Computation Element). O BGP, protocolo padrão de facto da Internet, provê meios para obtenção de informações de alcançabilidade a partir dos domínios vizinhos, bem como meios de propagar essas informações. Apesar da comprovada eficácia do BGP como protocolo de roteamento inter-domínio nas redes IP, os esquemas baseados em BGP também herdam suas deficiências: falta de suporte a divulgação de informação de Engenharia de Tráfego (TE), convergência lenta e alta sobrecarga de sinalização [2], o que dificulta sua utilização em redes ópticas WDM. A necessidade crescente de utilização de TE em redes de transporte levou à criação da arquitetura PCE, padronizada pela Internet Engineering Task Force. A arquitetura PCE descreve o conjunto de componentes abstratos e protocolos de comunicação entre esses componentes [8], sem fornecer uma descrição detalhada de todos seus componentes. A arquitetura PCE pode ser vista como o primeiro passo para a implementação de cálculo de rotas baseado em restrições (engenharia de tráfego) e novas soluções devem ser desenvolvidas sobre essa arquitetura para o desenvolvimento do plano de controle das redes ópticas do futuro. A especificação do padrão PCE não aborda restrições de continuidade de comprimento de onda [1], apesar de algumas propostas lidarem com restrições específicas [5]. Ademais, apesar de existirem propostas para a redução da sobrecarga de sinalização em redes multi-domínio baseadas em PCE [6], essa questão não foi suficientemente analisada, em especial a sobrecarga de sinalização de controle e mensagens de atualização de estado da rede multi-domínio. 2 Objetivos O objetivo geral deste projeto é investigar as propostas para cálculo de rota interdomínio para redes ópticas WDM encontradas na literatura, avaliar as deficiências dessas propostas e definir mecanismos para sanar tais deficiências.

18 17 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Os objetivos específicos deste projeto são: (i) propor um método de cálculo de rota inter-domínio para redes ópticas WDM que considere disponibilidade de recursos ópticos; (ii) Propor um método de divulgação de comprimentos de onda disponíveis na rede; (iii) Definir as políticas para escolha do melhor caminho interdomínio; e (iv) Avaliar a eficácia dos métodos propostos. 3 Método Inicialmente, foi feito uma revisão detalhada da literatura sobre roteamento e atribuição de comprimento de onda em redes ópticas WDM. Verificou-se que a maior parte dos estudos sobre roteamento em redes ópticas se refere ao roteamento intra-domínio. O roteamento inter-domínio possui vários requisitos de qualidade e maior complexidade de comunicação entre os dispositivos da rede quando comparado com o roteamento intra-domínio. Verificou-se que as maneiras de realizar roteamento inter-domínio propostas na literatura não consideravam informações suficientes e atualizadas sobre a disponibilidade de recursos ópticos. Dessa maneira, contribuímos desenvolvendo algoritmos para determinar a maneira como informações sobre disponibilidade recursos ópticos são distribuídos pela rede e de que forma os elementos da rede tiram proveito dessas informações para definir os melhores caminhos ópticos. Para demonstrar a viabilidade de uso das propostas, estendemos o simulador WDMSim para permitir o estabelecimento de caminhos de luz inter-domínio e desenvolvemos simulações em que nossos protocolos implementavam o plano de controle inter-domínio de redes ópticas WDM. Foram gerados resultados numéricos que comprovaram nossas hipóteses de melhoria na taxa de bloqueio das chamadas e na sobrecarga de controle entre os domínios da rede. 4 Resultados A efetividade do esquema proposto foi comparada com a de uma implementação do protocolo OBGP [7, 4]. A ferramenta de simulação utilizada foi uma extensão multi-domínio do simulador WDMSim. A Figura 1 mostra a probabilidade de bloqueio obtida em um dos cenários de simulação considerados e a Figura 2 mostra a sobrecarga de sinalização neste mesmo cenário. A diferença entre os resultados do OBGP e os da proposta é bastante significativa. 5 Conclusões Este trabalho apresenta um esquema inovador baseado em PCE para aprovisionamento de caminhos ópticos em redes ópticas muti-domínio WDM em malha. A proposta para cálculo da cadeia de domínios preserva informações confidenciais

19 Resumos estendidos OBGP Alg. Proposto 20 Probabilidade de Bloqueio Carga Figura 1: NOBEL-EU. Probabilidade de bloqueio em funç~ao da carga na topologia OBGP Alg. Proposto Sobrecarga de Controle Carga Figura 2: NOBEL-EU. Sobrecarga de controle em funç~ao da carga na topologia

20 19 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica intra-domínio. Disseminação sob-demanda de informações sobre alcançabilidade e disponibilidade de recursos enviados em mensagens de backtracking possibilitam o estabelecimento de caminhos ópticos através do uso de rotas alternativas nos casos de falha durante o processo de cálculo. Introduziu-se, também, um conjunto de políticas para lidar com restrições de continuidade comprimento de onda. A solução do problema de RWA balanceia a distribuição de carga na rede dado que se escolhem os enlaces que possuem o maior número de comprimentos de onda disponíveis, o que evita a formação de gargalos e reduz o bloqueio. Bloqueio e sobrecarga de sinalização gerados pela proposta são significativamente menores do que as produzidas pelo OBGP. Referências [1] Casellas, R., Martínez, R., Muñoz, R., and Gunreben, S. (2009). Enhanced backwards recursive path computation for multi-area wavelength switched optical networks under wavelength continuity constraint. J. Opt. Commun. Netw., 1(2):A180 A193. [2] Yannuzzi, M., Masip-Bruin, X., Fabrego, G., Sanchez-Lopez, S., Sprintson, A., and Orda, A. (2008). Toward a new route control model for multidomain optical networks. IEEE Communications Magazine, 46(6): [3] Yannuzzi, M., Masip-Bruin, X., Sánchez-López, S., and Marín-Tordera, E. (2009). Obgp+: An improved path-vector protocol for multi-domain optical networks. Optical Switching and Networking, 6(2): Recent trends on optical network design and modeling selected topics from ONDM [4] Francisco, M., Pezoulas, L., Huang, C., and Larnbadaris, I. (2002). End-to-end signaling and routing for optical ip networks. In Communications, ICC IEEE International Conference on, volume 5, pages vol.5. [5] Lee, Y., Bernstein, G., Martensson, J., Takeda, T., and Otani, T. (2011). PCEP Requirements for WSON Routing and Wavelength Assignment. draft-ietf-pcewson-routing-wavelength-05.txt. [6] Chamania, M., Chen, X., Jukan, A., Rambach, F., and Hoffman, M. (2009). An adaptive inter-domain PCE framework to improve resource utilization and reduce inter-domain signaling. Optical Switching and Networking, 6(4): [7] Blanchet, M., Viagenie, F., and Canarie, B. (2001). Optical BGP (OBGP): InterAS lightpath provisioning. Internet-Draft draft-parent-obgp-01, Internet Engineering Task Force. Work in progress. [8] Farrel, A., Vasseur, J.-P., and Ash, J. (2006). A Path Computation Element (PCE)-Based Architecture. RFC 4655 (Informational).

21 Resumos estendidos 20 AVD-total-coloring of complete equipartite graphs A. G. Luiz, C. P. de Mello, and C. N. Campos Let G := (V, E) be a simple graph. A k-total-coloring of G is a mapping φ : (V E) {1, 2,..., k} such that no adjacent vertices or adjacent edges receive the same color, and no vertex and one of its incident edges receive the same color. The total-chromatic number of a graph G, χ (G), is the smallest number of colors for which G admits a total-coloring. A restriction of φ to E(G) is an edge-coloring of G. Let C(u) = {φ(u)} {φ(uv) : uv E(G)} be the set of colors that occurs in a vertex u, u V (G). If for any pair of adjacent vertices u, v V (G), C(u) C(v), then φ is an adjacent-vertex-distinguishing-total-coloring (AVD-total-coloring). The adjacent-vertex-distinguishing-total-chromatic number (AVD-total-chromatic number), χ a(g), is the smallest number of colors for which a graph G admits an AVDtotal-coloring. The complexity of determining the AVD-total-chromatic number is not known. In contrast, it has been shown that determining the total-chromatic number is NP-hard [1], even for k-regular bipartite graphs, k 3. The AVD-total-coloring problem consists of determining χ a(g) for a simple graph G. This problem was first introduced by Zhang et al. [7]. The authors determined the AVD-total-chromatic number for some classic families of graphs, such as complete graphs, complete bipartite graphs, cycles, fans, wheels, and trees. based on their results, the authors posed the following conjecture: Additionally, Conjecture 1 (AVD-total-coloring conjecture). If G is a simple graph, then χ a(g) (G) + 3. This conjecture has been confirmed for graphs with (G) = 3 [3], hypercubes [4], outerplanar graphs [6], and Halin graphs [5]. In this work, we consider complete equipartite graphs. A complete equipartite graph, K r(n), is a graph whose vertex set can be partitioned into r independent sets (parts) of cardinality n, such that any two vertices belonging to different parts are joined by an edge. We prove the following result: Theorem 2. Let G := K r(n) be a complete equipartite graph with n 2 and r 2. If G has even order, then χ a(g) = (G) + 2; otherwise, χ a(g) (G) + 3. Proof. (Sketch) In order to prove Theorem 2, we build a ( (G) + 2)-AVD-totalcoloring for G of even order and a ( (G) + 3)-AVD-total-coloring for G of odd order. Note that χ a(g) (G) + 2 since G has two adjacent vertices of maximum degree. First, we decompose K r(n) into a set of disjoint complete graphs K r, and a set of bipartite graphs. Let K r(n) be a complete equipartite graph with r parts of cardinality n, r 2, n 2. For each part j, 1 j r, label each vertex in the part as u i j, where

22 21 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 1 i n. Note that subgraphs K i r := G[{u i 1,..., u i r}], 1 i n, are isomorphic to complete graph K r. Thus, K r(n) has n disjoint copies of K r as induced subgraphs. The subgraph induced by edges joining vertices of K i r to vertices of K j r, i j, is a bipartite graph, denoted by B ij = [V (K i r), V (K j r)], 1 i, j n, i j. Moreover, B ij is an (r 1)-regular graph. In fact, edges u i xu j x (1 x r) do not exist since vertices u i x and u j x are in the same part of K r(n). This implies that K r(n) = (H T ), where: H := T := 1 i n 1 i,j n i j K i r B ij (2) Let G R be the underlying simple graph obtained from K r(n) by shrinking each K i r into a vertex v i. Graph G R is called the representative graph of K r(n) since the previous decomposition can be represented by G R in the following way: each vertex v i V (G R ) represents a component K i r H and each edge v i v j E(G R ) represents a bipartite graph B ij T. Note that G R = Kn. Figure 1 illustrates the decomposition of a complete equipartite graph as described above. (1) K 4(2) u 1 1 T 1 u 2 H u 1 1 u 2 u u 2 u 1 4 u 1 3 u u 2 u 2 1 u 2 2 u 1 4 u 2 4 u 2 3 u 1 3 u 2 1 u 2 2 u 2 4 u 2 3 u 1 3 u 1 4 u 2 3 u 2 4 Figure 1: Decomposition of K 4(2) into two subgraphs H and T. In order to complete the proof four cases are considered depending on the parity of n and r. In each case, using the representative graph, we assign suitable edgecolorings to B ij and an AVD-total-coloring to each K i r in such a way that the result is an AVD-total-coloring to K r(n). Also, we prove that this coloring uses the required number of colors. The previous result confirms the AVD-total-coloring conjecture for complete equipartite graphs. Although the conjecture holds for K r(n) of odd order, the AVDtotal-chromatic number is not determined for this case.

23 Resumos estendidos 22 Nevertheless, we have obtained ( (K r(n) ) + 2)-AVD-total-colorings for some equipartite graphs of odd order. Figure 2 shows an example of a 9-AVD-totalcoloring for K 3(3) that can be obtained following our proof; however, we have found that K 3(3) admits an AVD-total-coloring with only eight colors. Based on these findings, we conjecture that χ a(k r(n) ) = (G) + 2 for K r(n) of odd order. The next step of this research is to verify the validity of this conjecture (a) A 9-AVD-total-coloring of K 3(3). 4 7 (b) An 8-AVD-total-coloring of K 3(3). 4 Figure 2: Example showing two AVD-total-colorings of K 3(3) : one with (K 3(3) ) + 3 colors, and another with (K 3(3) ) + 2 colors. References [1] A. Sánchez-Arroyo. Determining the total colouring number is NP-hard. Discrete Mathematics, 78(3): , [2] H. P. Yap. Total Coloring of Graphs. Lecture Notes in Mathematics, 1623, Springer-Verlag, Berlin, [3] J. Hulgan. Concise proofs for adjacent vertex-distinguishing total colorings. Discrete Mathematics, 309: , [4] M. Chen and X. Guo. Adjacent vertex-distinguishing edge and total chromatic number of hypercubes. Information Processing Letters, 109: , [5] X. Chen and Z. Zhang. AVDTC numbers of generalized Halin graphs with maximum degree at least 6. Acta Mathematicae Applicatae Sinica, English Series, 24:55-58, [6] Y. Wang and W. Wang. Adjacent vertex distinguishing total colorings of outerplanar graphs. Journal of Combinatorial Optimization, 19: , 2010.

24 23 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica [7] Z. Zhang, X. Chen, J. Li, B. Yao, X. Lu, and J. Wang. On adjacent-vertexdistinguishing-total coloring of graphs. Science in China Series. A: Mathematics, 48: , 2005.

25 Resumos estendidos 24 Caminhos Mínimos com Classes em Grafos Rafael F. dos Santos, and Eduardo C. Xavier Neste trabalho, estamos interessados em algoritmos para problemas de caminhos com classes em grafos. De principal interesse sção os problemas de caminhos com aplicações em redes ópticas. Particularmente, estudaremos o problema de, dada uma rede WDM e dois nós dela, um origem e outro destino, estabelecer múltiplos caminhos de luz em fibras ópticas entre esses nós de forma que o atraso fim-a-fim seja minimizado. Além disso, estudaremos problemas relacionados a caminhos em grafos com o objetivo de desenvolver algoritmos e heurísticas eficientes para esses problemas. Construção de caminhos em redes é um problema básico em otimização combinatória: dada uma rede e pares de nós nela, desejamos encontrar um ou mais caminhos com determinada propriedade, tais como: disjunção nas arestas [1], disjunção nos vértices, fluxos mínimo e máximo [3] e assim por diante. Tais problemas possuem aplicações em diversas áreas como projeto de circuitos VLSI, fluxo e roteamento em redes, confiabilidade em comunicações e assim por diante. Um problema específico de nosso interesse é o de Caminho Mínimo com Classes (CMC). Dada uma rede óptica, dois nós dela e um requisito de banda, o objetivo no problema CMC é encontrar a rota mais rápida na rede através da qual a banda requisitada possa ser satisfeita [2]. Com o surgimento crescente de aplicações de alto desempenho com requisitos de banda extremamente grandes, como vídeoconferãa ncias, televisão digital de alta definição e aplicações das comunidades científica e de engenharia, não só as redes ópticas se destacam como candidatas promissoras para satisfazerem tais requisitos de banda crescentes, como há também a necessidade de se resolver o CMC de forma eficiente. Nada se sabia ainda sobre a complexidade do CMC, embora em [2] seja apresentada uma solução de tempo exponencial através de Programação Linear Inteira. Supondo que P NP, sabemos que problemas de otimização NP-difíceis não possuem algoritmos eficientes que os resolvam de forma exata. Como a busca de soluções ótimas é inaceitável devido à grande quantidade de tempo de execução exigida, é necessário obter algoritmos rápidos mas que possuam uma garantia de desempenho em relação à solução ótima. Um dos resultados que já conseguimos foi demonstrar que o CMC pertence à classe NP-difícil. Portanto, heurísticas precisam ser desenvolvidas para termos soluções de qualidade para o problema de forma rápida. Além disso, esses algoritmos precisam ter seu desempenho avaliados na prática com instâncias reais do problema. Nós nos concentraremos no estudos de algoritmos para o CMC. Estudaremos os principais algoritmos usados na literatura mas nos concentraremos em técnicas recentes utilizadas para a obtenção de algoritmos com interesse prático. Também implementaremos os algoritmos que parecerem mais promissores e realizaremos experimentos computacionais para avaliar suas qualidades e desempenho práticos.

26 25 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Nosso principal objetivo é apresentar novos algoritmos que tenham resultados práticos melhores que os algoritmos da literatura. E é de nosso interesse fazer análises formais dos algoritmos com o intuito de fundamentá-los teoricamente. Limites teóricos de comparação entre algoritmos não trazem muita informação quando analisados sob o ponto de vista prático. Portanto, é necessário implementálos e compará-los entre si para avaliarmos o quanto esses algoritmos geram, de fato, soluções próximas da ótima. Não implementaremos todos os algoritmos, apenas aqueles mais relevantes e promissores e os testaremos com instâncias geradas computacionalmente e obtidas através de repositórios de dados públicos. Para a implementação dos algoritmos, usaremos o simulador de redes WDMSim e a biblioteca de rotinas CPLEX para os métodos de programação linear. Referências [1] C. Chekuri and S. Khanna. Edge disjoint paths revisited. In Proceedings of the 14th ACM-SIAM Symposium on Discrete Algorithms, pages , [2] X. Chen, A. Jukan, A. C. Drummond, and N. L. S. Da Fonseca. A multipath routing mechanism in optical networks with extremely high bandwidth requests. In Proceedings of the 28th IEEE Conference on Global Telecommunications, GLOBECOM 09, pages , Piscataway, NJ, USA, IEEE Press. [3] S. G. Kolliopoulos. Exact and Approximation Algorithms for Network Flow and Disjoint-Path Problems. PhD thesis, 1998.

27 Resumos estendidos 26 Classificação Multi-Escala de Imagens de Sensoriamento Remoto Jefersson Alex dos Santos, Ricardo da S. Torres, e Alexandre X. Falcão Vários trabalhos recentes vêm mostrando que os métodos baseados em regiões são melhores que os tradicionais métodos baseados em pixels para classificar ISRs de alta resolução [7, 1]. Entretanto, o desempenho dos métodos baseados em regiões dependem diretamente da qualidade da segmentação. Além disso, normalmente não é possível definir automaticamente qual a melhor escala de segmentação dos dados. Por isso nós propusemos uma abordagem de classificação multi-escala de ISRs. Desse modo, os objetivos desse trabalho são: Implementação e validação de uma abordagem de classificação multi-escala para imagens de sensoriamento remoto; Adaptação do método de classificação multi-escala para classificação interativa utilizando aprendizado ativo. A abordagem de classificação multi-escala é composta por três etapas principais: segmentação multi-escala, extração de característica e classificação. A Figura 1 mostra as etapas do método proposto. Segmentação Multi-Escala Extração de Características Treinamento Multi-Escala ISR Testa todos os classificadores fracos Classificador Forte F(p) Hierarquia de Regiões Partições Multi-Escala Características Atualiza Pesos h t (p) Seleciona o melhor classificador fraco Figura 1: Etapas do processo de classificação proposto. A etapa de segmentação multi-escala abrange a construção de uma estrutura hierárquica de regiões da ISR utilizando o método de segmentação proposto por Guigues [5]. A segunda etapa é a extração de características das regiões dadas pela hierarquia construída na etapa de segmentação usando descritores de imagens. A última etapa é responsável pelo treinamento, que utiliza as características extraídas de todos os níveis de segmentação e amostras das regiões de interesse fornecidos pelo usuário na ISR, para construir um classificador capaz de rotular as demais regiões da imagem. Duas abordagens diferentes foram propostas para o treinamento multi-escala, o que gerou dois frameworks de classificação: o MSC (Multi-Scale Classifier) e o HMSC (Hierarchical Multi-Scale Classifier). O objetivo do MSC é atribuir um rótulo (+1 para a classe relevante, e 1 caso contrário) para cada pixel p da imagem I utilizando várias características computadas em regiões de vários níveis da hierarquia de segmentação. Para construir os

28 27 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica classificadores multi-escala, nós propusemos uma estratégia de aprendizado baseada na combinação de classificadores fracos. Essa estratégia é baseada no algoritmo AdaBoost proposto por Schapire [6], que constrói uma combinação linear M SC(p) de T classificadores fracos h t (p): ( T ) MSC(p) = sign α t h t (p) t=1 (1) onde α t é um peso atribuído ao classificador h t durante o processo de treinamento. O algoritmo proposto chama repetidamente os classificadores fracos em uma série de iterações t = 1,... T. Cada classificador fraco produz uma solução que reduz o erro experado da combinação. O algoritmo então seleciona o classificador fraco que mais reduz o erro. A estratégia consiste em manter um conjunto de pesos associado ao conjunto de treinamento. Esses pesos podem ser interpretados como uma medida do nível de dificuldade em se classificar cada amostra do treinamento. No início, todos os pixels possuem o mesmo peso, mas a cada iteração, os pesos dos pixels classificados erroneamente são incrementados. Desse modo, nas iterações seguintes os classificadores fracos são forçados a se concentrar em amostras mais difíceis. Seja Y o conjunto de amostras fornecidas pelo usuário. O método divide esse conjunto em treinamento Y t e validação Y t. O treinamento dos classificadores fracos é feito em um subconjunto de treinamento Yλ t em cada uma das escalas de segmentação. Esse classificadores (SVMs lineares, por exemplo) utilizam esse subconjunto para treinar e produzir uma solução h t,(f,λ). O subconjunto de treinamento/validação Y 0 corresponde aos rótulos dos pixels da imagem I, e os subconjuntos de treinamento/validação Y λ com λ > 0 são definidos de acordo com a proporção de pixels pertencentes a uma das duas classes (por exemplo, pelo menos 80% de uma região). A ideia de construir um subconjunto Ŷ é forçar os classificadores a treinar com amostras mais difíceis. O classificador fraco deve permitir que as amostras mais difíceis sejam diferenciadas das outras de acordo com o peso de cada uma. O MSC cria um classificador baseado na combinação linear dos resultados produzidos pelos classificadores fracos. Nesse caso, tanto a seleção de escalas e características quanto os pesos de cada classificador fraco são obtidos pela estratégia baseada no AdaBoost. Embora essa abordagem possibilite a seleção das escalas mais apropriadas para o conjunto treinamento, isso não garante a representação de todas as escalas no classificador final. Além disso, o custo computacional do treinamento com cada escala é proporcional ao número de regiões que ela contém. Entretanto, algumas escalas não são sempre selecionadas, o que significa que que o tempo de treinamento pode ser reduzido se a análise dessas escalas for evitada. Para superar esses problemas nós propusemos um esquema de classificação multiescala hierárquico (hierarchical multi-scale classification). A estratégia proposta consiste em selecionar individualmente os classificadores fracos em cada escala,

29 Resumos estendidos 28 começando da escala mais grossa para a escala mais fina. Assim, cada escala corresponde a um diferente estágio de treinamento. Ao fim de cada estágio, somente as amostras mais difíceis são selecionadas, limitando o conjunto de treinamento a ser utilizado no próximo estágio. Os classificadores fracos são treinados somente com as características relacionadas à escala do estágio atual. Para cada escala, o algoritmo seleciona um conjunto H λ de classificadores fracos. O classificador multi-escala hierárquico hierarchical multi-scale classifier (HM SC) é uma combinação do conjunto de classificadores fracos S λ (p) selecionados para cada escala λ: ( ) ( HMSC(p) = sign S λi (p) = sign λ i λ i T t=1 ) α t,λi h t,λi (p) A Tabela 1 apresenta os resultados dos métodos MSC e HMSC em comparação com um método de classificação baseado em regiões que utiliza SVM com kernel gaussiano [7]. As configurações e mais detalhes dos experimentos realizados podem ser encontrados em [3] Nós também apresentamos nessa tabela os resultados de classificação para cada um dos descritores na escala λ 4 e os resultados combinando todos os descritores utilizando cada uma das escalas de segmentação isoladamente. (2) Tabela 1: Resultados de classificação comparando: o método MSC utilizando apenas 1 descritor e 1 escala; o método MSC combinando descritores com cada uma das escalas isoladamente e; os métodos MSC, HMSC e o baseline. MSC + λ 4 + descritor MSC + escala isolada Método Acurácia (%) Kappa (κ) ACC 78,60 ±1,88 0,7238 ±0,029 BIC 79,92 ±2,04 0,7447 ±0,033 CCV 77,38 ±2,72 0,7011 ±0,046 GCH 77,64 ±2,71 0,7056 ±0,045 QCCH 69,94 ±4,21 0,5503 ±0,086 U N SER 68,72 ±3,67 0,5255 ±0,078 SID 68,63 ±3,76 0,5215 ±0,078 λ 1 79,07 ±1,60 0,7298 ±0,028 λ 2 79,90 ±2,04 0,7441 ±0,033 λ 3 80,43 ±2,11 0,7519 ±0,033 λ 4 81,04 ±1,70 0,7625 ±0,026 λ 5 80,31 ±1,23 0,7494 ±0,020 Baseline SV M + Kernel Gaussiano 77,47 ±2,64 0,7054 ±0,044 Métodos MSC 82,28 ±1,60 0,7800 ±0,025 Propostos HMSC 82,69 ±1,68 0,7875 ±0,024 Como pode ser observado, tanto o MSC quanto o HMSC superaram os resultados do baseline. Além disso, podemos observar que os métodos de combinação de escalas

30 29 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica MSC e HMSC produzem resultados melhores do que utilizando apenas um descritor ou apenas 1 escala de segmentação. A vantagem do HMSC é que o tempo de treinamento é a metade que o MSC utiliza para o mesmo conjunto de treinamento. Referências [1] T. Blaschke. Object based image analysis for remote sensing. ISPRS Journal of Photogrammetry and Remote Sensing, 65(1):2 16, [2] J. A. dos Santos, A. T. da Silva, R. da S. Torres, A. X. Falcão, L. P. Magalhães, and R. A. C. Lamparelli. Interactive classification of remote sensing images by using optimum-path forest and genetic programming. In CAIP 2011, Proceedings, Part II, pages , Seville, Spain, August [3] J. A. dos Santos, P-H. Gosselin, S. Philipp-Foliguet, R. da S. Torres, and A. X. Falcão. Multi-scale classification of remote sensing images. Geoscience and Remote Sensing, IEEE Transactions on, Aceito para publicação. [4] J. A. dos Santos, O. A. B. Penatti, and R. da S. Torres. Evaluating the potential of texture and color descriptors for remote sensing image retrieval and classification. In VISAPP 2010, pages , Angers, France, May [5] L. Guigues, J. Cocquerez, and H. Le Men. Scale-sets image analysis. International Journal of Computer Vision, 68: , [6] Robert E. Schapire. A brief introduction to boosting. In Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence, IJCAI 99, pages , [7] A. Tzotsos and D. Argialas. Support vector machine classification for objectbased image analysis. In Object-Based Image Analysis, Lecture Notes in Geoinformation and Cartography, pages Springer Berlin Heidelberg, [8] L. Wang X. Li and E. Sung. Improving adaboost for classification on small training sample sets with active learning. In Proceedings of ACCV, 2004.

31 Resumos estendidos 30 Desenvolvimento de um Banco de Dados para o Projeto e-phenology Greice Cristina Mariano, Ricardo da Silva Torres e Leonor Patricia C. Morellato As mudanças ambientais tornaram-se uma questão importante na agenda global. A fim de apoiar a formulação de políticas para gestão ambiental e manter o equilíbrio do ecossistema, é necessário ter uma visão precisa das condições existentes e compreender as complexas mudanças que ocorrem em todos os níveis do planeta [7]. Um passo essencial para a criação de cenários apropriados é coletar dados relevantes sobre o meio ambiente e desenvolver sistemas computacionais para gerenciar e descobrir conhecimento a partir desses dados. Esses sistemas devem, além disso, combinar os dados recém-coletados com informações históricas e dados legados (por exemplo, de tipos diferentes de arquivos), a partir de uma gestão unificada. Por isso, cientistas envolvidos com questões ambientais devem buscar apoio de um grande conjunto de sistemas. Isso, naturalmente, apresenta todos os tipos de problemas de interoperabilidade, devido à incompatibilidade do sistema, a diversidade de dados, e uma variedade de perfis de usuário. Um exemplo representativo desses problemas surge no contexto dos estudos de fenologia. Fenologia é uma ciência tradicional de observar os ciclos das plantas e dos animais e relacioná-los com os dados meteorológicos locais, bem como interações bióticas e filogênicas [1]. Em estudos relacionados à fenologia de plantas, por exemplo, pesquisadores podem realizar inferências sobre as condições das plantas em relação ao seu ambiente e as variações climáticas [2]. Por isso, fenologia tem ganho importância como o indicador mais simples e confiável dos efeitos das mudanças climáticas sobre plantas e animais [5, 3]. Dentre os vários trabalhos relacionados à fenologia no Brasil, destaca-se o projeto e-phenology 1, que visa incorporar às pesquisas atuais de fenologia de plantas em vegetações tropicais do Brasil [6] novas tecnologias para detectar mudanças ambientais e possibilitar novas técnicas de observação da fenologia a partir do uso de câmeras digitais para monitoramento remoto. Trata-se de uma colaboração entre o laboratório RECOD (Reasoning for Complex Data) do Instituto de Computação (IC) da Universidade Estadual de Campinas (UNICAMP) e o laboratório de Fenologia do Instituto de Biociências (IB) da Universidade Estadual Paulista Júlio de Mesquita Filho (UNESP). Para compreender a fenologia e sua influência nas alterações climáticas esses estudos envolvem pesquisas periódicas, com dados temporais, que variam ao longo de dias, meses, anos e décadas. Neste contexto, a computação é uma grande aliada dos peritos em fenologia, fornecendo-lhes ferramentas para auxiliar na análise, mineração e conclusão de relatórios sobre as espécies e seus comportamentos ao longo dos anos. Alguns dos desafios associados com a especificação e implementação de 1 Data de acesso: 14/02/2012.

32 31 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica sistemas de informação para apoiar estudos de fenologia são: (1) lidar com grandes volumes de informação ao longo dos anos, (2) integrar informações de diferentes fontes e formatos (heterogeneidade), (3) manipular dados e imagens, e (4) manipular informação geoespacial de referência. Isso envolve a combinação de pesquisas em processamento de imagens, banco de dados e visualização de dados. Os dados que serão geridos pelo projeto e-phenology, por exemplo, atualmente são armazenados em planilhas eletrônicas, que contém dados de 2122 indivíduos desde setembro de Devido a este grande volume de informações, processos simples como consultar ciclos de indivíduos de uma dada espécie em uma determinada época, fazer levantamentos estatísticos de duração e ocorrência de ciclos, entre outros, são trabalhosos, demandam tempo e são sucectíveis a erros. Afim de colaborar com o projeto e-phenology e, em concordância com os desafios apresentados para desenvolver sistemas de informação na área de fenologia, este trabalho propõe a construção de um banco de dados capaz de gerenciar e armazenar os dados que serão geridos pelo e-phenology, de maneira automatizada e facilitada, auxiliando e apoiando os biólogos e demais pesquisadores nas análises e compreensões dos dados temporais de fenologia e do clima. Os dados iniciais para a construção do modelo de banco de dados para o e- phenology, advêm de coletas realizadas em uma área de Cerrado, localizado na região de Itirapina no Estado de São Paulo. Esses dados referem-se à observação da ocorrência de fenômenos biológicos do ciclo de vida da planta, chamados de fenofases. As fenofases observadas dizem respeito a floração, frutificação, brotamento e queda foliar. A produção de flores é dividida em botões e floração propriamente dita ou período de antese (abertura de flores) e a produção de frutos em períodos de frutos maduros ou frutos verdes [4]. Todo mês, um grupo do laboratório - com no mínimo dois observadores - vai ao campo para realizar a observação dessas fenofases. Cada observador do grupo leva consigo uma prancheta com fichas impressas que possuem campos que relacionam a localização do indivíduo, o número de identificação do indivíduo naquela localização, a família, a espécie e as fenofases. Para cada indivíduo listado na ficha, os observadores quantificam as fenofases de acordo com três classes de intensidade, em que: (i) 0 não há indícios da fenofase para aquele indivíduo, (ii) 1 fenofase presente em menor intensidade (intensidade moderada - até 50%) e (iii) 2 fenofase presente em maior intensidade (de 51% a 100%). Terminadas as observações em toda a área do Cerrado e feitas as anotações nas fichas, a próxima etapa é levar essas informações ao Laboratório de Fenologia e passá-los para planilhas eletrônicas semelhantes as fichas do campo. Completada essa tarefa, os dados então são divididos em planilhas eletrônicas por fenofase, na qual serão feitas a interpretação dos ciclos e as análises estatísticas desses ciclos. A partir do conhecimento obtido nesse processo de levantamento de dados, um primeiro modelo conceitual foi proposto para a criação do banco de dados. Foram identificados seis módulos, para os quais foram construídos diagramas de Entidade-

33 Resumos estendidos 32 Relacionamento e que são apresentados em uma visão geral pela Figura 1. Figura 1: Modelo conceitual proposto para o banco de dados do e-phenology. O módulo de dados de localização refere-se às tabelas que permitem a identificação e localização de um indíviduo no campo onde as coletas de dados e observações são realizadas. As principais entidades desse diagrama são: Local e MetodoAmostragem, que determinam a posição do indíviduo com relação a área que ele se encontra e possibilitam a análise do comportamento de indivíduos iguais em ambientes distintos dentro de uma mesma área. O módulo de dados taxonômicos refere-se às tabelas que descrevem e classificam os indivíduos que fazem parte da pesquisa. As principais tabelas desse diagrama são: Individuo e Especie. Um indivíduo representa uma planta, enquanto que uma espécie refere-se ao agrupamento de indivíduos (espécimes) com características semelhantes, extremamente parecidos. O módulo de dados ecológicos refere-se às tabelas relacionadas às características ecológicas das espécies. Nesse módulo todas as tabelas são importantes, por ajudarem a definir uma espécie. Alguns exemplos são aquelas relacionadas com as formas de polinização (Especie Sindrome Polinizacao) e dispersão de sementes (Especie Sindrome Dispersao); os tipos de fruto (Fruto), de flor (Flor) e de folha (Folha). O módulo de dados climáticos refere-se às tabelas relacionadas ao monitoramento de dados temporais do clima. A principal tabela desse diagrama é de Dados Climaticos. O módulo de dados fenológicos é o módulo mais importante. Refere-se às tabelas relacionadas à coleta de dados de observação de fenologia em séries temporais.

34 33 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica O módulo de imagens e metadados refere-se ao armazenamento das informações relacionadas aos dados e imagens provenientes da câmera digital instalada na torre na área de coleta de dados. Essas imagens são fotos de áreas de interesse de pesquisa e a partir das quais, se dará a observação remota da fenologia. A principal tabela desse diagrama é a tabela de imagens (Imagem) que, além de armazenar qual câmera produziu a imagem, também guarda a data e hora que a foto foi tirada e o caminho (diretório) da imagem no sistema de arquivos. A partir deste modelo, as próximas etapas do trabalho envolvem: validar o modelo conceitual inicial e padronizá-lo em formato internacional para interoperar com outros sistemas de biodiversidade; validar os dados de séries temporais e prezar pela qualidade dos mesmos; contruir um ambiente web para acesso aos dados, dada a complexidade e o volume de dados que serão gerenciados. Espera-se, assim, contribuir com as pesquisas fenológicas agilizando seus processos e permitindo novas metodologias de pesquisa pela observação remota 2. Referências [1] B. Rathcke, and E. P. Lacey. Phenological patterns of terrestrial plants. Annual Review of Ecology and Systematics, 16: , [2] B. C. Reed, J. F. Brown, D. VanderZee, T. R. Loveland, J. W. Merchant, and D. O. Ohlen. Measuring phenological variability from satellite imagery. Journal of Vegetation Science, 5 (5): , [3] C. Rosenzweig, D. Karoly, M. Vicarelli, P. Neofotis, Q. Wu, G. Casassa, A. Menzel, T. L. Root, N. Estrella, B. Seguin, P. Tryjanowski, C. Liu, S. Rawlins, and A, Imeson. Attributing physical and biological impacts to anthropogenic climate change. Nature 453: , [4] D. C. Talora, P. C. Morelatto. Fenologia de espécies arbóreas em floresta de planície litorânea do sudeste do Brasil. Revista Brasileira de Botânica, 23(1):13 26, [5] G. R. Walther. Plants in a warmer world. Perpectives in Plant Ecology Evolution and Systematics 6: , [6] L. F. Alberti, and L. P. C. Morellato. Influência da abertura de trilhas antrópicas e clareiras naturais na fenologia reprodutiva de Gymnanthes concolor (Spreng.) Müll. Arg. (Euphorbiaceae). Revista Brasileira de Botânica, 31(1):53 59, [7] R. S. Torres, C. B. Medeiros, M. A. Gonçalves, and E. A. Fox. A digital library framework for biodiversity information systems. Journal on Digital Libraries, 6(1):3 17, Agradecimentos à FAPESP, Microsoft Research, CNPq e Capes pelo apoio financeiro.

35 Resumos estendidos 34 Diretrizes para modelagem de aplicações Web 2.0 com diagrama de máquina de estados da UML Caroline Letizio e Eliane Martins A Web. Quem hoje não utilizou ou não sabe o que é a Web? Seja por navegar na Internet ou abrir o facebook, mas todos, de alguma forma, sabem o que significa. A Web não só teve, como ainda tem, um grande crescimento, com seu uso em praticamente todos os ramos da humanidade, seja em um aplicativo de administração de um pequeno escritório, seja para grandes transações entre grandes empresas. Aplicações Desktop perdem espaço para as aplicações online. Logo no início das redes e navegações Web, onde existiam apenas páginas de leitura, fornecimento de informação, tem-se a Web estática, chamada de Web 1.0. A evolução da Web vem com usuários interagindo mais com as aplicações. A resposta do aplicativo ou sistema depende do que o usuário fizer na aplicação. A essa interação e dinamicidade, tem-se a Web 2.0. Visto que a complexidade dos sistemas Web tem aumentado com essa evolução, necessita-se de formas para desenvolver o sistema com facilidade de testá-lo e alterá-lo conforme as necessidades. Uma dessas formas é a abstração da lógica da aplicação através de um modelo, o qual permite que o processo de produção do sistema seja modificado independente do seu código [1]. O desenvolvimento dirigido por modelo é uma área que está em expansão, onde os modelos são criados com o objetivo de diminuir a complexidade inerente ao desenvolvimento. A modelagem também ajuda designers na fase de implementação da interface gráfica, e proporciona suporte para implementação de testes. Testes baseados em modelos são um tipo de técnica de teste de caixa preta, ou seja, não é necessário assumir nada sobre a estrutura interna da aplicação, pois essa técnica avalia o comportamento de entrada e saída do sistema [2], com base nos requisitos funcionais e não-funcionais. O problema encontrado para a geração de testes é que não há uma modelagem eficiente para aplicações Web 2.0. As modelagens eficazes existentes são, na sua maior parte, para as aplicações Web 1.0. Na academia, a maioria das pesquisas tenta criar outros padrões para construir modelos que consigam mostrar esta dinamicidade das aplicações; esses padrões são baseados nas definições da UML, mas não a utilizam fato. Statecharts já têm sido utilizados para modelagem de aplicações Web; porém, esses diagramas têm mostrado limitações em expressar aspectos específicos e críticos de aplicações Web, por exemplo, não é possível representar quem é o responsável por um evento que será recebido pela aplicação, se é um usuário ou o sistema [3]. Máquina de estado finita (MEF) e máquina de estado finita estendida (MEFE) tem sido usadas para o teste baseado em modelo. Uma MEF pode representar a parte do controle de um sistema, tal como um sistema de semáforos. Entretanto, uma MEFE é necessária para sistemas mais complexos, que normalmente possuem controles e partes de dados como protocolos de comunicação [4]. Mesmo assim, este tipo de modelagem ainda apresenta limitações como, por exemplo, não é possível

36 35 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica mostrar concorrência entre eventos. Outro grande problema encontrado é que a maioria dos modelos apresentados não são validados. Ou seja, não há como saber se é eficaz ou não utilizar determinada proposta. Isso pode ser observado pelo levantamento bibliográfico já estudado nesse projeto e também pelo trabalho de Alalfi [5], o qual mostra 24 métodos de modelagem e suas limitações, como o fato dos modelos analisados não fazerem verificação do conteúdo dinâmico da aplicação em termos de corretude e completude. No final, Alalfi descreve que o desafio é um modelo capaz de capturar todas as características de uma aplicação Web em todos os níveis possíveis, assim como ser possível uma forma fácil e eficaz de validar o modelo, já que os trabalhos não mostram nem um método de validação. Portanto, o objetivo desse trabalho é gerar modelos de estados utilizando as especificações da UML, visto que os modelos existentes apresentam algum tipo de limitação, para aplicações Web 2.0. Criando, ao final, um guia com as diretrizes para gerar esta modelagem que servirá para geração de testes. A aplicação que está sendo utilizada como estudo de caso é o ambiente de ensino a distância TelEduc [6]. O motivo dessa escolha deve-se a esta aplicação ser utilizada no mercado. Seu desenvolvimento é feito pela própria Unicamp e é um software livre, portanto, poderemos utilizar como exemplo real para mostrar resultados. Essa aplicação, também faz uso da tecnologia Ajax e da linguagem Javascript, ambas responsáveis por criar conteúdo dinâmico e fazer o cliente ter uma relação assíncrona com o servidor. Além disso, a aplicação não possui uma rotina de testes. Portanto, este trabalho modelará alguns módulos do sistema TelEduc, criando assim, uma estratégia para testar o TelEduc. Após as modelagens ficarem prontas, será necessário validá-las. Alguns métodos de validação estão sendo estudados, sendo o principal deles, o uso da UML executável, conhecida como Executable and Translatabel UML (XTUML) [7]. Com um modelo executável, é possível testar formalmente um modelo UML antes de tomar algum tipo de decisão, seja ela a implementação do sistema, o design do sistema ou a geração de testes. A modelagem de uma aplicação representa as decisões necessárias para suportar execução, verificação e validação do sistema independentemente do design e da implementação. Nenhum tipo de decisão de design ou código de desenvolvimento é necessário no modelo de execução. Portanto, casos de teste podem ser executados sobre o modelo para verificar que os requisitos da aplicação foram incorporados apropriadamente. Dessa forma, é possível verificar que o modelo da aplicação é válido [8]. Uma outra forma de validação, é a aplicação prática em que esse trabalho está envolvido. Esse projeto seria a parte inicial de mais outros dois, uma tese de doutorado já defendida e outra dissertação de mestrado que será defendida nesse mês. A Figura 1 abaixo exemplifica melhor o envolvimento dos trabalhos. A etapa Modelagem do Sistema representa este trabalho. Já a etapa Geração de Casos de Teste Abstratos representa o trabalho de doutorado já defendido da aluna Thaise Yano [9], cujo tema é Aplicação de algoritmos evolutivos em teste baseado em modelo e tem como objetivo criar teste baseado em busca para a

37 Resumos estendidos 36 Figura 1: Modelagem, casos de teste abstratos, casos de teste executáveis geração de casos de teste factíveis a partir do modelo de máquina de estado. Seu trabalho utiliza o teste baseado em modelo, pois os casos de teste são derivados a partir do modelo comportamental do sistema em teste, e este tipo de teste é muito útil para a ocasião em que não se tem o código fonte disponível. E a última etapa Geração de Casos de Teste Executáveis é o trabalho de mestrado a ser defendido, da aluna Érika R. C. de Almeida [10], cujo tema da dissertação é Geração de Casos de Teste Executáveis usando a Metodologia de Teste Dirigido por Modelo, o objetivo é resolver o problema de geração de casos de teste executáveis a partir de modelos de teste independentes de plataforma. Portanto, com os casos de testes abstratos gerados pelo trabalho da Thaise, este trabalho produzirá os casos de teste executáveis usando teste dirigido por modelo. A validação com essa aplicação, o qual está ainda em análise para saber se é viável ou não, é pedir para uma pessoa que faça parte da equipe do TelEduc que use as diretrizes deste trabalho para construir um modelo de estado e, com os protótipos das ferramentas das alunas Thaise e Érika, realize os testes. Estes testes, além de mostrar resultados interessantes, ainda podem ser comparados com alguma outra ferramenta que gera testes a partir de modelo. Referências [1] R. Mohan, M. A. Cohen, J. Schiefer. A State Machine Based Approach for a Process Driven Development of Web-Applications. CAiSE 02 (14th International Conference on Advanced Information Systems Engineering), Springer- Verlag London, UK [2] P. Baker. Model-Driven Testing - Using the UML Testing Profile. Springer Berlin Heidelberg, New York, NY, USA Page: 184. [3] M. Winckler, P. Palanque. StateWebCharts: A Formal Description Technique Dedicated to Navigation Modelling of Web Applications. DSV-IS (International

38 37 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Workshop on Design, Specification and Verification of Interactive Systems), 2003, Pages: [4] A. S. Kalaji, R. M. Hierons, S. Swift. A Search-Based Approach for Automatic Test Generation from Extended Finite State Machine (EFSM). TAIC PART 09 (Testing: Academic and Industrial Conference - Practice and Research Techniques, 2009), Digital Objec, 2009, Pages: [5] M. H. Alalfi, J. R. Cordye T. R. Deam Modeling methods for web application verifications and testing: state of art. Software Testing, Verification and Reliability 19,4, 2009, Pages: [6] Ensino à distância - TelEduc Núcleo de Informática Aplicada à Educação (NIED) da Universidade Estadual de Campinas [7] S. J. Mellor. Design Article - Executable and Translatable UML. acessado em 03/2011, disponível em Translatable-UML. [8] S. S. C. Shang, Y. L. Wu, O. C. L. Hou. An Analysis of Business Models of Web 2.0 Application ITNG 09 (Information Technology: New Generations, 2009),. Sixth International Conference on Digital Object Identifier: /ITNG , 2009, Pages: [9] T. Yano, E. Martins, F. L. Sousa Generating Feasible Test Paths From an Executable Model Using a Multi-Objective Approach. SBST 10 (3rd Internation Workshop on Search- Based Software Testing), Pages: [10] E. R. C. Almeida, E. Martins Testing Model Transformations Which Derive Executable Test Cases From Abstract Ones LADC (Fifth Latin-American Symposium on Dependable Computing), São José dos Campos, Brasil, 2011.

39 Resumos estendidos 38 ESLBench: A Benchmark Suite for Evaluating Eletronic System Level Designs Liana Duenha and Rodolfo Azevedo The complexity of Eletronic System Level (ESL) designs and the purpose of improving performance of such projects make modeling and simulation of high level abstraction systems an important and challenging research area. The ESL design enviroment is characterized by modeling system components, mechanisms of communication and synchronization between components, development of new methodologies to increase performance and the choice of application that will be executed. The lack of a benchmark suite to assist validation and evaluation of ESL designs causes delays in the life cycle of these projects. This paper presents the ESLBench, a scalable MPSoC suite composed by four different kinds of processors, IPs, communication devices and a representative set of application, whit 292 different multicore configurations with up to 16 cores. This benchmark suite focuses on providing processor-centric platforms by exploiting designs with one of more processors in a shared memory environment with some extra peripherals, all developed using well known methodologies and frameworks. The processors were implemented in ArchC Architecture Description Language, other peripherals using Transaction Level Modeling (TLM) technology, and their sintaxe and simulation obey the SystemC kernel. This benchmark suite focuses on building platforms by exploiting desings with one of more processors in a shared memory environment with some extra perifericals. We organize all sofwares required to build the platforms in a directory structure based on ArchC Platform Manager (ACPM) to simplify the ArchC usage. The following list shows the directories available and have been discribed in [4]: ip: Here are kept the available non-programmable platforms components; is: Is contains the available interconnection structures; platforms: This is the place keeping the main platform files which interconnect all the required modules; processors: Here lay all the available platform processor models; sw: It holds all the software to be run on the platform; wrappers: Platform wrappers (if needed) are store in this directory. Such directories structure was deliberately designed to allow a same component to be reused across several distinct platforms. Then, the available platforms in the benchmark run independently but share the ACPM directories structure and the source-code of their components. All the ESLBench components are listed in the Table 1 and described hereafter.

40 39 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Tabela 1: ESLBench Components ip tlm lock A hardware lock device described using TLM technology tlm memory A external memory described using TLM tecnology is tlm router A router device described using TLM tecnology, used to connect all the peripherals of the platform processors platforms powerpc, mips, sparc, arm powerpc.xx, mips.xx, sparc.xx, arm.xx ArchC model implementing the PowerPC 32 bits, MIPS-I,V8 version of the SPARC architecture, and ARMv5, all including ABI simulation A wide range of platforms connecting described peripherals to the the processors, that can be one of the ArchC models. The xx represents the number of processors in these platforms,which can assume values 01, 02, 04, 08, or 16. software ParMiBench Seven applications of ParMiBench [1] benchmark adapted to run on 1, 2, 4, 8, or 16 processors, using the ESLpthread library instead of the original PThread library Splash-2 Four applications of Splash-2 [3] benchmark adapted to run on 1, 2, 4, 8 or 16 processors multisoftware s Sixteen different single-core applications of Mibench [2] benchmark adapted to run on a unique platform with sixteen processors multisoftware Four parallel applications of ParMiBench [1] benchmark adapted to run in a unique multithreaded platform. Memory: All processors instantiated in a platform share an external memory called tlm memory that is connected by a TLM channel. The memory specified in ESLBench platforms has 512 MB. Key implementation aspects include the specialization of it interface and transport method. This fuction is invoked when the processor performs a request. It opens the request packet, assembles a response packet and returns it to caller [4]. Lock: One needs to support the simulation of multicore platforms is the modeling of a device called tlm lock, which acts as a hardware lock. The write method of tlm lock only assign te value private variable and the read method returns its value and change it to 1 [4]. To use the lock hardware, we add a pointer to the 0x address and create the functions AcquireLock() and ReleaseLock(). The AcquireLock() just has to wait untial this pointer has a zero value and the ReleaseLock() is as simples as assigning a zero to the lock pointer.

41 Resumos estendidos 40 Router: The tlm router is a very simple module, which essentialy consists of TLM ports to connect it to the memory and lock devices, followed by communication interfaces with each instantied processor. There is only one kind of tlm router capable of connecting up to 16 processors to the memory and lock. Processors: All platforms available in the ESLBench suite uses processors of already mentioned types modeled on ArchC. The communication between processor and external devices uses TLM ports and all processors have 32-bit wordsize. Applications: The source code of the application is compiled, assembled and linkedited, resulting in an executable code that is run on one of the four already mentioned processor models; thus, an appropriate compiler is suplied for each processor model. All application were adapted from their source-codes provided in one of the following benchmarks: ParMiBench: sha, dikjstra, susan corners, stringsearch, susan smoothing, susan edges, basicmath; Splash-2: fft, lu, water, water-spatial, ocean. Multisoftware: basicmath, sha, stringsearch, dijkstra. All of these ar parallel applications adapted from ParMiBench benchmark, running in up to 16 processors. Multisoftware s: bitcount, susan corners, susan edges, susan smoothing, basicmath, dijkstra, qsort, stringsearch, sha, rijndael encoder, rijndael decoder, fft, blowfish encoder, blowfish decoder, adpcm encoder, adpcm decoder. These are single-core versions adapted from Mibench benchmark. Several measurements were done to characterize the ESLbench benchmark. We chose some of the possible configurations to characterize the applications that are available in the benchmark. Figures 1 and 2 show the amount of instructions executed on platforms running applications with lower computational load and greater computational load, respectively. Figure 1: Applications with lower computational load 1. Figure 2: Applications with greater computational load 1.

42 41 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Figure 3 shows the amount of instructions executed by each of 16 applications on the 16-core multisoftware platform called multisoftware s. Figure 3: multisoftware s platform 1. The exhibited work refers to the helpful infrastructure for evaluating methodologies and techniques applied in ESL designs, called ESLBench, which explores parallelism and scalability over well known applications of parallel benchmarks. We hope that the ESLBench can help potential users to drive research efforts over parallel sofware demands, hardware sinthesis and verification at high level abstraction systems. Referências [1] S. M. Z. Iqbal, Y. Liang, and H. Grahn. ParMiBench: An open-source benchmark of embedded multiprocessor systems. In IEEE Computer Architecture Letters, Vol. 9, No.2, pages [2] M. R. Guthaus, J. S. Ringenberg, D. Ernst, T. M. Austin, T. Mudge, and R. B. Brown. Mibench: A free, commercially representative embedded benchmark suite. In Proceedings of IEEE 4th Annual Workshop on Workload Characterization, held in conjunction with The 34th Annual IEEE/ACM, pages December [3] S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The Splash-2 programs: Characterization and methodological considerations. In Proceedings of the 22nd International Symposium on Computer Architecture - ISCA 95, pages ACM, [4] S. Rigo, R. Azevedo, and L. Santos. Eletronic System Level Design. Springer, sha (sha), dikjstra (dij), water (wat), susan corners (cor), fft (fft), lu (lu),water-spatial (wsp), susan smoothing (smo), stringsearch (str), susan edges (edg), basicmath (bsm), bitcount (btc), qsort (qst), blowfish encoder (benc), blowfish decoder(bdec), rijndael decoder (rdec), rijndael encoder(renc), adpcm encoder (aenc), adpcm decoder(adec).

43 Resumos estendidos 42 Fulkerson s Conjecture and Loupekine s Snarks Kaio Karam Galvão, and C. N. Campos Let G be a simple graph with vertex set V (G) and edge set E(G). The graph G is cubic when all of its vertices have degree three. An edge-colouring of G is a mapping π : E(G) C such that for any two adjacent edges e, f E(G), we have π(e) π(f). If C = k, then π is called a k-edge-colouring. For each colour c C, the set {e E(G) : π(e) = c} is called a colour class. A matching of G is a set M E(G) such that no two edges in M are adjacent. Notice that a colour class is a matching. If v V (G) is not an end of any e M, then we say that v is M-unsaturated. When every vertex in V (G) is incident with an edge in M, we say that M is a perfect matching. A double cover by six matchings of a graph G is a collection of six matchings such that every edge of G belongs to exactly two of them. An edge e E(G) is called a bridge if G e has more components than G. This work deals with the Berge-Fulkerson Conjecture, which was formulated by C. Berge and D. R. Fulkerson independently [2], and first published by Fulkerson [3] in Conjecture 1 (Fulkerson s Conjecture). Every bridgeless cubic graph admits a double cover by six perfect matchings. In a 3-edge-coloured cubic graph, each colour class is a perfect matching and each edge of the graph belongs to exactly one matching. By duplicating each of the matchings, we have a double cover by six perfect matchings. Since Fulkerson s Conjecture clearly holds in this case, it remains to verify the conjecture for cubic graphs not admitting a 3-edge-colouring. Snarks are bridgeless cubic graphs non 3-edge-colourable. In 1880, P. G. Tait showed the equivalence of the Four Colour Problem with an edge-colouring problem in cubic planar graphs [4]. The search for a counter-example to the Four Colour Conjecture brought great importance to the snarks. The first snarks appeared as few individual examples, sometimes with long intervals between discoveries. The first example was the Petersen Graph (Figure 1(a)), discovered in The first infinite families were published in 1975 by R. Isaacs [5]. In 1976, F. Loupekhine described a method of construction of new snarks using subgraphs of known snarks [1]. We call such subgraphs basic blocks in Loupekhine s method, which we describe later. Fulkerson s Conjecture has been verified for some well known snarks, such as the flower snarks, the Goldberg snarks, the Szekeres Snark and the Blanuša snarks [6, 7]. In this work, we show that Fulkerson s Conjecture is also verified by a family of snarks constructed with Loupekhine s method from the Petersen Graph.

44 43 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica b w w_i a c x u x_i u_i r t r_i t_i y v y_i v_i (a) Petersen Graph P. (b) Graph B. (c) Basic block B i. Figure 1: Construction of a basic block from the Petersen Graph. 1 LP 1 -snarks LP 1 -snarks 1 are constructed by Loupekhine s method using basic blocks which are derived exclusively from the Petersen Graph, P. All basic blocks are isomorphic and formed by removing from P a path of three vertices. This process is illustrated in Figure 1. In order to construct an LP 1 -snark G, we use an odd number of basic blocks, B 1,..., B k, considering labels as in Figure 1(c). For each i {1,..., k}, the blocks B i, B i+1, with indexes taken mod k, are linked by one of the pairs of edges u i x i+1, v i y i+1 or u i y i+1, v i x i+1, which we call link edges. Blocks B i and B i+1 are said to be adjacent blocks. We partition the set of blocks into subsets with two or three blocks. For each set with two blocks B i, B j, we add edge w i w j, creating a 2-gadget. For each set with three blocks B i, B j, B l, we create a new vertex z i and include edges z i w i, z i w j, z i w l, creating a 3-gadget. Link edges between blocks of the same gadget are part of the gadget. A vertex in a gadget is a border vertex if it is incident with a link edge not in the gadget; this link edge is called gadget-link edge. Note that, since there is an odd number of blocks in G, there is also an odd number of 3-gadgets. Figure 2 shows examples of LP 1 -snarks. By restricting the way partitioning of the set of blocks is done, different subfamilies of LP 1 -snarks can be obtained. If each gadget is comprised by blocks with consecutive indexes only, then the generated (sub)family is called LP 0 -snarks. Figure 2(b) shows an example of LP 0 -snark. 2 Main Result We show that every LP 0 -snark verifies Fulkerson s Conjecture. Theorem 2. Each LP 0 -snark admits a double cover by six perfect matchings. 1 The classes of Loupekhine snarks referenced here have their names taken from [8].

45 Resumos estendidos 44 (a) An LP 1 -snark. (b) An LP 1 -snark which is an LP 0 -snark. Figure 2: LP 1 -snarks constructed with seven basic blocks, gadgets marked with dashed and dotted boundaries. Proof. (Sketch) Let G be an LP 0 -snark comprised by k gadgets. Recall that each gadget can be a 2-gadget or a 3-gadget, and that they are cyclically connected by gadget-link edges (see Figure 2(b)). Let G := {G 1,..., G k } be the set of gadgets of G and suppose they are labelled in cyclic order. In order to construct a double cover by six perfect matchings for G, we build specific double covers for each gadget and prove that it is possible to assign the remaining edges (gadget-link edges) to two of the six matchings defined for the gadgets. For each gadget G i G, 1 i k, we find a double cover by six matchings, M i j, 1 j 6, with the following properties: 1. M i j, 3 j 6, is a perfect matching (of G i ); 2. if v V (G i ) is a border vertex, then v is M i 1-unsaturated and M i 2-unsaturated. Let M j := k i=1 M j. i Note that M j is a matching, since gadgets are pairwise vertex-disjoint and edge-disjoint. In order to complete the proof, it is necessary to assign the gadget-link edges to two of the six matchings. By property (1), M j, 3 j 6, is a perfect matching of G. By property (2), border vertices are M 1 -unsaturated and M 2 -unsaturated. Since the ends of the gadget-link edges are border vertices, it is enough to assign each gadget-link edge to M 1 and M 2. 3 Concluding Remarks We have studied the construction of snarks described by F. Loupekhine [1]. We then considered the LP 1 -snarks, constructed from the Petersen Graph using Loupekhine s

46 45 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica method. We verified Fulkerson s Conjecture [3] for an infinite sub-family of LP 1 - snarks, called LP 0 family. This result contributes as one more evidence that the conjecture is true. We continue to investigate the LP 1 -snarks class, in order to get a better comprehension of the problem for this class. As an example of this continuation, we have found double covers by six perfect matchings in a subclass of LP 1 -snarks other than LP 0. Moreover, we plan to study other families of snarks in the light of Fulkerson s Conjecture. References [1] Isaacs, R.: Loupekhine s snarks: a bifamily of non-tait-colorable graphs. Technical Report 263, Dpt. of Math. Sci., The Johns Hopkins University, Maryland, U.S.A. (1976) [2] Jensen, T.R., Toft, B.: Graph Coloring Problems. Wiley Interscience (1995) [3] Fulkerson, D.R.: Blocking and anti-blocking pairs of polyhedra. Mathematical Programming 1 (1971) [4] Tait, P.G.: Remarks on colouring of maps. Proc. Royal Soc. Edinburgh Ser. A 10 (1880) 729 [5] Isaacs, R.: Infinite families of non-trivial trivalent graphs which are not Tait colorable. Amer. Math. Monthly 82 (1975) [6] Hao, R., Niu, J., Wang, X., Zhang, C.Q., Zhang, T.: A note on Berge-Fulkerson coloring. Discrete Mathematics 309(13) (2009) [7] Fouquet, J.L., Vanherpe, J.M.: On Fulkerson conjecture. Discussiones Mathematicae - Graph Theory 31(2) (2011) [8] Vaux, L.: Théorie des graphes: flots circulaire. Technical report, Université Lyon 1 (2002) ÉNS Lyon,

47 Resumos estendidos 46 Geração Automática de Casos de Testes Executáveis a partir de Casos de Teste Abstratos para Aplicações Web Érika Regina Campos de Almeida e Eliane Martins A automação da geração e da execução de casos de teste está de acordo com o grande desafio na área de desenvolvimento de software que é fazer mais com menos recursos. Entretanto, para unir estes dois processos, ainda é necessário fazer a ponte entre o nível de especificação do Sistema em Teste (SeT) e sua respectiva implementação. O processo de geração de casos de teste usualmente requer uma representação formal do SeT (baseada nos documentos de especificação do SeT) e gera casos de teste abstratos, no sentido que eles estão no mesmo nível de detalhamento das especificações. Há algum tempo, metodologias para geração de testes atestaram que casos de teste de qualidade poderiam ser derivados a partir dos modelos de desenvolvimento, surgindo a abordagem chamada Teste Baseado em Modelo (MBT). Porém, um processo de teste de software para ser considerado completo necessita de muitos outros artefatos além dos casos de teste, artefatos estes que são necessários para especificação, execução e avaliação dos casos de teste. Sabendo disso, uma extensão de MBT, chamada Teste Dirigido por Modelo (MDT), foi proposta para que a geração completa dos artefatos de teste fosse executada de maneira automática através da execução de regras de transformações de modelos [1]. No entanto, somente gerar os artefatos de teste automaticamente não basta para que a realização da atividade de testes seja feita em pouco tempo. E, como mais testes com menos tempo e recursos é uma exigência do mercado, a automação de teste é vista como uma alternativa para minimizar o tempo e os recursos gastos, sem perda de qualidade do produto [2]. Entretanto, a execução automática de casos de teste necessita de casos de teste executáveis, ou seja, aqueles que contêm detalhes de implementação do SeT para serem executados sem intervenção manual. Logo, para usar automação desde a fase de projeto de teste até a fase de execução, é necessário preencher a lacuna entre o caso de teste abstrato e o executável, pois eles estão em níveis de abstração diferentes. Usualmente, alguém com habilidades de programação realiza o processo de transformação do nível abstrato para o de implementação, despendendo muito esforço e tempo. O objetivo deste trabalho é apresentar uma proposta de solução para o problema de geração automática de casos de teste executáveis a partir dos respectivos casos de teste abstratos, levando em conta que esse mapeamento envolve mudanças no nível de abstração dos artefatos envolvidos, indo do nível da especificação do SeT para o nível de implementação do mesmo. Uma vez que essa mudança no nível de abstração não é simples e varia muito conforme o tipo de SeT, focamos este trabalho em um tipo específico de software:

48 47 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica aplicações Web. Esta escolha tem uma razão principal: aplicação Web está entre as classes de sistema de software que mais crescem atualmente [3]. Estes aplicativos estão sendo usados para apoiar uma ampla gama de atividades importantes: negócios; atividades científicas; e atividades médicas. Dada a importância de tais aplicações, aplicações Web com defeito podem causar muitos impactos sobre as empresas, as economias, o progresso científico e saúde. Logo, é importante que elas sejam confiáveis, e, para isso, é essencial que sejam validadas. No trabalho, avaliamos as propostas para mapeamento automático de casos de teste abstratos em executáveis existentes na literatura que estão de acordo com MDT. Além disso, escolhemos uma delas para instanciar para aplicações Web, mostrando quais são os passos necessários para transformar os casos de teste abstratos em executáveis, levando em conta que existem bibliotecas especializadas no suporte à escrita deste último. O uso de MDT requer a definição de modelos de teste a partir dos quais será derivado o código de teste. Levantamos alguns requisitos para o modelo de teste a ser aplicado no trabalho: i) ele não deve estar diretamente ligado aos modelos de desenvolvimento (nem sempre a equipe de testes tem acesso a esses modelos); ii) deve contemplar os principais elementos de um caso de teste [4]: dados de entrada, passos, resultados esperados; iii) deve permitir, se necessário para o teste, a especificação de passos que devem ser executados antes (depois) do teste para deixar a aplicação Web em um estado conhecido (em seu estado inicial); iv) deve possibilitar a organização dos casos de teste em suites de teste, que organizam logicamente os casos de teste, normalmente por funcionalidade. Além da escolha do modelo de teste usado para representar os casos de teste abstratos, o uso de MDT requer regras de transformação para mapear o modelo de teste independente de plataforma no modelo de teste espefíco de plataforma e, em seguida, gerar a partir deste último o código de teste. Sendo assim, temos o requisito que as regras de transformação devem tanto estar disponíveis como poder ser executadas com ferramentas open source. Finalmente, o último requisito é que o código de teste gerado esteja em uma linguagem de programação que permite a realização de testes automatizados de aplicações Web. Na literatura, encontramos alguns trabalhos cujo objetivo é semelhante ao nosso, no sentido de gerar casos de teste executáveis automaticamente, como no caso de Alves et al. [1], mas que não disponibilizam ferramentas para uso. Também vimos trabalhos para testes de aplicações Web cuja geração de casos de teste se limitava aos casos de teste abstratos. O trabalho mais semelhante ao nosso é o de Javed et al. [5], que apresenta uma proposta que gera testes de unidade para as linguagens de programação Java e Smalltalk a partir de diagramas de sequência, e cujo metamodelo de entrada que se adequa aos nossos requisitos do modelo de teste. Mais ainda, eles disponibilizaram os metamodelos de entrada e saída, bem como as regras de transformação, sendo que essas estão escritas em linguagens comuns de

49 Resumos estendidos 48 Engenharia Dirigida por Modelo (MDE). Dessa forma, este trabalho se assemelha ao nosso, exceto pelas particularidades de aplicações Web que devem ser inseridas nos casos de teste da linguagem de programação Java e por estarmos lidando com teste caixa-preta ao invés de teste caixa-branca. Sendo assim, escolhemos nos basear na proposta deles para transformar modelos de teste (casos de teste abstratos) de aplicações Web em casos de teste executáveis (testes de unidade no formato JUnit). O fluxograma básico da transformação de casos de teste abstratos em executáveis, ilustrado na Figura 1, foi planejado seguindo as diretrizes de MDT: um modelo de teste independente de plataforma (PIT) é transformado em um modelo de teste específico de plataforma (PST); este, por sua vez, deve ser mapeado em código de teste, incorporando, inclusive, os dados de teste. Figura 1: Processo de transformação de casos de teste abstratos em executáveis. O PIT proposto por Javed et al. é chamado de SMC (Sequence of Method Calls) e representa uma sequência de chamada de métodos, enquanto que o PST é denominado xunit por representar a família de casos de teste de unidade. Já as regras de transformação PIT-PST e PST-código de teste (em formato de teste de unidade para Java ou Smalltalk) são escritas nas linguagem QVT e Mofscript, respectivamente. O primeiro trabalho realizado foi mudar a linguagem em que uma delas estava escrita para que conseguíssemos executá-la (de QVT para ATL). Além disso, aplicamos um processo de teste específico para este tipo de artefato nas duas regras de transformação da metodologia. O próximo passo foi a instanciação da metodologia para aplicações Web. Resumidamente, baseado na documentação da aplicação Web e em sua interface com o usuário, são inicialmente modelados uma máquina de estados e um diagrama de classes. A primeira representa o comportamento de navegação da aplicação Web, enquanto que o segundo contém as operações de cada página da aplicação Web. Em seguida, aplicando MBT e ferramentas desenvolvidas para automatizar o uso desta técnica, são gerados os casos de teste abstratos a partir do modelo de máquina de estados.

50 49 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Então, tais casos de teste abstratos são transformados em executáveis com nossa metodologia que faz uso de MDT, ultrapassando a ponte entre o nível de abstração do modelo de navegação e detalhes do sistema de implementação. Primeiro, relacionase as interações de entrada do caminho de transições com chamadas de método, de acordo com o diagrama de classes. Em seguida, obtemos uma sequência de chamadas de métodos que é uma instância do metamodelo SMC (PIT). Tais modelos SMC são mapeados para modelos xunit (PST), por regras de transformação ATL. Finalmente, os modelos xunit são traduzidos em comandos da linguagem de programação Java. Tais comandos devem ser de acordo com a biblioteca Selenium, uma vez que esta irá permitir a execução automática dos casos de teste. Para avaliar a aplicabilidade da solução em aplicações Web reais, realizamos o estudo de caso usando aplicações Web de grande porte, duas delas de uso nacional e outra disseminada em escala mundial. Além disso, foi realizado o processo completo de teste (geração dos casos de teste abstratos; uso da proposta de instanciação, para aplicações Web, do método para transformar os casos de teste abstratos em executáveis; e execução dos testes), ilustrando a factibilidade da solução. Discutimos também que a metodologia torna o processo de teste menos susceptível a erros e pode ser aplicada em qualquer tipo de aplicação Web, desde que a modelagem para geração dos casos de teste abstratos seja adequada. Além disso, no futuro, queremos expandir este trabalho para outros tipos de sistemas de software e criar uma ferramenta que contemple todo processo desde a geração dos casos de teste abstratos até os executáveis. Referências [1] Everton L. G. Alves and Patrícia D. L. Machado and Franklin Ramalho. Uma Abordagem Integrada para Desenvolvimento e Teste Dirigido por Modelos. In Proceedings of 2nd Brazilian Workshop on Systematic and Automated Software Testing (SAST), pages 74 83, [2] Elfriede Dustin and Jeff Rashka and John Paul. Automated Software Testing: Introduction, Management, and Performance. Addison-Wesley, [3] Sebastian Elbaum and Srikanth Karre and Gregg Rothermel. Improving web application testing with user session data. In Proceedings of the 25th International Conference on Software Engineering, pages 49 59, [4] Everton Alves. Usando MDA e MDT para Modelagem e Geração Automática de Arquiteturas de Teste para Sistemas de Tempo Real. Master Thesis, Universidade Federal de Campina Grande, [5] A. Javed and P. Strooper and G. Watson. Automated Generation of Test Cases Using Model-Driven Architecture. In Proceedings of the Second International Workshop on Automation of Software Test, pages 3 9, 2007.

51 Resumos estendidos 50 Geração automática de máquinas finitas de estados estendidas a partir de documento em língua natural Juliana Galvani Greghi, Eliane Martins e Ariadne M. B. R. Carvalho Muitos projetos espaciais utilizam-se de sistemas computacionais visando aumentar a autonomia das missões. O avanço no desenvolvimento de tais aplicações tem levado os pesquisadores a pensar em modos eficazes para o desenvolvimento e, em especial, para o teste dos sistemas produzidos. Alguns estudos mostram que parte das falhas que acontecem em missões espaciais estão diretamente relacionadas ao software [7],[12]. Tretmans e Belifante [14] apontam que muitos dos problemas ocorridos estão relacionados à especificação do sistema; sem uma especificação clara, precisa, completa e não ambígua, fica bastante difícil definir corretamente o que deve ser testado e qual o comportamento esperado do sistema. Além disso, o processo de teste pode ser bastante oneroso, tanto em relação ao tempo, quanto em relação ao esforço gastos. Na tentativa de minimizar falhas, evitar custos excessivos e possibilitar a produção de software de alta qualidade, a European Space Agency (ESA), em parceria com a indústria aero-espacial europeia, definiu um conjunto de padrões para o desenvolvimento e teste dos serviços de telecomando e telemetria implementados pelos projetos [1]. Com o mesmo intuito, estudos apresentados em [7] demonstram que o uso de métodos formais de representação no desenvolvimento de software embarcado para aplicações espaciais pode reduzir drasticamente falhas e insucessos. Os modelos formais permitem que os sistemas sejam especificados com mais precisão, e que ambiguidades ou inconsistências possam ser mais facilmente identificadas. Além, disso, esses modelos podem ser processados por ferramentas sem grandes esforços, possibilitando maior automatização de todo o processo [14]. Projetos que envolvem protocolos de comunicação utilizam, em geral, a modelagem com Máquinas Finitas de Estados Estendidas (MFEEs), para que as partes de controle e dados possam ser devidamente representadas [4]. Seguindo essas recomendações, o Instituto Nacional de Pesquisas Espaciais (INPE) tem buscado implementar os serviços de comunicação solo-bordo, de modo a atender não somente às especificações dos projetos, mas também às recomendações propostas pela European Cooperation for Space Standardization (ECSS), por meio do documento ECSS-E-70-41A [5], conhecido como Padrão PUS (Packet Utilization Standard) [2], [3], [8]. Uma grande dificuldade a ser enfrentada é que a maioria dos documentos de requisitos e normas de padronização são descritos em língua natural, e por isso podem conter informações incompletas ou imprecisas. Outra dificuldade é que a modelagem de Máquinas Finitas de Estados não é uma tarefa trivial para a maioria das pessoas; demanda tempo para ser realizada e exige experiência em modelagem.

52 51 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Para que os serviços implementados possam ser testados e validados, os pesquisadores do INPE têm investigado e comparado metodologias para atividades de verificação e validação dos modelos. Uma proposta em estudo, mostrada na Figura 1, é que cada serviço descrito no padrão PUS possa ser representado por um conjunto de MFEEs que atendam às especificações da metodologia de teste CoFI [2], adotada atualmente pelo INPE, e que esse conjunto possa ser utilizado para a geração de casos de teste pela ferramenta ConDado [11]. Figura 1 - Atividades para aplicação de testes no INPE (adaptado de [3]) Para dar início a esta pesquisa, foram encontrados e analisados vários trabalhos baseados em técnicas e métodos de Processamento de Língua Natural (PLN) que tratam da criação de modelos a partir de documentos em língua natural, mas nenhum para processamento de normas de padronização da área espacial, e, certamente, nenhum para o Padrão PUS. O objetivo principal deste trabalho é, a partir de métodos e técnicas de PLN, processar o documento PUS e gerar os modelos previstos pela CoFI para auxiliar os testes dos serviços definidos pelo Padrão PUS. Com isso, a expectativa é, tanto quanto possível, substituir o trabalho do testador por uma ferramenta, e que os modelos utilizados pela metodologia CoFI possam ser gerados automaticamente, ou com pouca intervenção humana. Um desafio a ser enfrentado é o processamento do documento de padronização dos serviços. Por ser uma norma de padronização, o texto não pode sofrer qualquer alteração visando facilitar o processamento, como ocorre em alguns dos trabalhos estudados. Além disso, as informações sobre um mesmo serviço podem estar descritas em vários capítulos e precisam ser corretamente extraídas para a geração das MFEEs. Outro desafio é o processo de validação dos modelos gerados. Por serem específicos para serviços implementados em projetos aero-espaciais, uma das maneiras de validar as MFEEs geradas automaticamente será a comparação com as MFEEs modeladas manualmente pelos pesquisadores do INPE. Outros métodos de validação aplicáveis ao trabalho estão sendo estudados. A Figura 2 apresenta um esquema das etapas a serem cumpridas.

53 Resumos estendidos 52 Figura 2 - Atividades previstas para o desenvolvimento do trabalho As atividades demarcadas pela linha pontilhada estão em desenvolvimento. Foi realizada uma análise detalhada do Padrão PUS com o auxílio de uma ferramenta para levantamento estatístico em textos [6], e o resultado possibilitou a identificação de padrões estruturais e de escrita que auxiliarão no processo de extração de informações. Os estudos iniciais foram realizados com o documento completo, e os estudos subsequentes estão sendo realizados com o documento separado em capítulos para que cada serviço possa ser estudado individualmente. Os serviços de Verificação de Telecomando e Agendamento de Telecomando serão tratados em primeiro lugar, por serem bastante utilizados nos projetos desenvolvidos pelo INPE. A etapa de etiquetamento do texto será realizada com o etiquetador morfossintático desenvolvido pela Universidade de Stanford [16] que utiliza o conjunto de etiquetas definidas pela Penn Treebank [15] e apresenta precisão próxima a 97% [13]. Os estudos iniciais foram realizados sem qualquer treinamento especial do etiquetador. Entretanto, por se tratar de um domínio muito específico, está sendo preparado o treinamento do etiquetador para o domínio do trabalho. Até o momento, os resultados obtidos estão de acordo com o esperado e o andamento das atividades está sendo realizado conforme o cronograma previsto. Referências [1] Ana Maria Ambrosio. Teste de conformidade para software de sistemas espaciais. In Proceedings of the Workshop de Tese e Dissertações São Paulo, São Paulo, EPUSP, pages 85-90, [2] Ana Maria Ambrosio. CoFI: Uma Abordagem combinando Teste de Conformidade e Injeção de Falhas para Validação de Software em Aplicações Espaciais. Tese de Doutorado, Pós-Graduação em Computação Aplicada, INPE, [3] Ana Maria Ambrósio. Avaliação do uso de model checking e da metodologia de teste CoFI no desenvolvimento de software embarcado espacial. V Encontro Brasileiro de Teste de Software, Palestra convidada, [4] G. V. Bochmann and A. Petrenko. Protocol testing: review of methods and relevance for software testing. In Proceedings of International Symposium on Software Testing and Analysis, ISSTA 94, pages , 1994.

54 53 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica [5] ECSS. Space engineering - Ground systems and operations - Telemetry and telecommand packet utilization. ESA Publications Division, [6] C. Hu. Text statistics tool box for natural language processing. - acesso em 05/09/2010. [7] Robyn R. Lutz and Yoko Ampo. Experience Report: Using Formal Methods for Requirements Analysis of Critical Spacecraft Software. In Proceedings of 19th Annual Software Engineering Workshop, pages , NASA Goddard Space Flight Center, Greenbelt, MD, [8] Marcelo Henrique Essado de Morais. Verificação e Validação de Sistemas Espaciais: Refinamento de Requisitos baseado em Modelo de Estados. Dissertação de Mestrado, Pós-Graduação em Engenharia e Tecnologia Espaciais, INPE, [9] Eliane Martins, Selma Sabião and Ana Maria Ambrosio. ConData: a Tool for Automating Specification-based Test Case Generation for Communication Systems. In Proceedings of the 33rd International Conference on System Science, [10] Rodrigo P. Pontes, Emília Villani, and Ana Maria Ambrósio. Modelagem e Verificação Formal de Software Embarcado Espacial Segundo a Norma PUS. In Congresso Brasileiro de Automática, pages , [11] Selma Bássiga Sabião. Um Método para Geração de Testes Baseado em Máquina finita de Estado Estendida Combinando Técnicas de Teste Caixa Preta. Dissertação de Mestrado, Instituto de Computação, UNICAMP, [12] Mak Tafazoli. A study of on-orbit spacecraft failures. Acta Astronautica, pages , vol. 64(2-3), [13] Kristina Toutanova, Dan Klein, Christopher Manning and Yoram Singer. Feature-Rich Part-of-Speech Tagging with a Cyclic Dependency Network. In Proceedings of HLT-NAACL 2003, pages , [14] Jan Tretmans and Axel Belifante. Automatic testing with formal methods. In EuroSTAR 99: 7th European International Conference on Software Testing, Analysis Review, pages 8-12, Barcelona, Spain, [15] University of Pennsylvania. The Penn Treebank Project. treebank - acesso em 03/10/2011. [16] University of Stanford. Stanford Log-linear Part-Of-Speech Tagger. - acesso em 10/09/2011.

55 Resumos estendidos 54 GWIDO - Games with Interaction Design Objective Roberto Romani and Maria Cecília C. Baranauskas Economic and technological developments in the world have allowed much more people to access computers. As a consequence, the design of user interfaces must accommodate different categories of users: from beginners to experts and/or from digital natives to digital illiterates. Web 2.0 increases our capability of working collaboratively and asynchronously in a global scale contributing to the knowledge society construction. Nevertheless, there are still people who do not have access to the conventional resources of the web. Designing interfaces for all within Universal Design principles [1] is a challenge because the prospective design is supposed to attend different users profiles, to the widest possible extent. Approaches used by practitioners in the Human-Computer Interaction field have improved the design process, bringing the human-being to the main focus (e.g. user centered design) and augmenting human participation (e.g. participatory design), [2, 3]. Nevertheless, it is still necessary to develop methods and techniques to make the design process as adequate as possible to the majority, including those still aside the digital world. In fact, the challenge is to design interfaces in which people with different backgrounds, physical and socio-cultural conditions make sense of images, text and other elements of meaning present in the user interface (UI) of interactive systems. This research presents a proposal of an environment (GWIDO enviroment) to support designers in developing interfaces for all. This environment promotes designers and users joint participation to improve the process of design for all. The proposal consists of an environment based on web 2.0 services where designers post graphical and/or sound elements to be evaluated by users through Games With a Purpose (GWAPs) [4]. Such games will gather information about the interpretation users have for the graphical or sound elements proposed by designers. Based on that, designers can decide about which elements to use in their interface projects to reach the widest possible audience. The concept of GWIDO (Games With Interaction Design Objective) enviroment refers to the specific application of GWAPs with the purpose of helping designers in the definition of graphic or sound elements intended for all. The GWIDO environment is a web 2.0 application where people can play GWIDO games. In the GWIDO environment, designers may obtain information about how interface elements designed by them interpreted by users. Usually, designers elaborate many graphical elements during the design process. For example, consider the design of a health governmental service site where people can make medical appointments. The designer needs to use graphical elements to represent the appointment actions. He thinks in two or three images to represent the appointment main action and needs to decide which one would be the best op-

56 55 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica tion. He can register images in the GWIDO environment and associate them to the expression medical appointment. GWIDO games will use those images and while the gamers play they will choose the image that best represents an appointment. After some time, the designers can access the environment to verify which graphical elements were chosen by users (players). Other designers may have registered elements for the same or similar actions. In this case the environment may suggest collaboration among them. Players enter some data about themselves such as age, education level, gender and experience with computers before playing. In this way designers obtain information regarding how their elements of interface were interpreted by different user profiles. In order to achieve our purpose, GWIDO games should be designed to be played by anyone regardless of age, gender, education or experience with computers. Moreover these games should also be playable by blind, deaf and people with mobility limitations. To test this idea we developed GWIDO Image [5], a game based on consistency in the output. In GWIDO Image, the entry consists of a concept which the designer wants to represent in graphical form in the user interface and a set of images projected by him to represent that element; these images are named candidate images. The output is the image chosen by the players to represent the element or concept. In addition to games, the proposed environment, also offers the possibility of interaction and collaboration among designers. By registering in the environment, designers create their profile which can be visited by other designers also registered in the environment. During the play, GWIDO Image presents a concept (text) and instructs the players to select the image that best represents this concept. For example, assuming that a designer wants to use an image to represent the action of scheduling a medical appointmentïn a governmental site for health service, the designer prepares candidate images to represent the concept of scheduling a medical appointmentänd register them in the game. The Game will present the concept in audio or text formats and will display the candidate images or their audio descriptions. If both players select the same image, they get points in the game. All choices are registered by the game and will be available in the environment for supporting the designer in his decision process. Features such as timed response, score keeping, player skill level, high score lists, and randomness are game mechanisms that contribute to increase the players enjoyment [6]. GWIDO Image shows the number of users that selected each candidate image for the designer. Moreover it also offers information about the profile of the user who selected a specific image. Therefore, the designer may assess how the graphic element she/he picks for the UI reaches each profile of the target audience. A practice with users was conducted in a telecenter called Casa Brasil, located at Campinas city, Brazil. Casa Brasil has been a partner of e-cidadania [7], a project that investigates and proposes solutions to the challenges of interaction and

57 Resumos estendidos 56 interface design for systems in the context of citizenship practice. The observed practice brought to the group of observers/evaluators a unique opportunity to grasp the spontaneous reaction both facial and verbal of audience during interaction in the game. We used the Self Assessment Manikin (SAM) adapted from Chorianopoulos and Spinelli [8] as an instrument to record the immediate feeling of the individuals regarding the game. Results with the SAM instrument were very satisfactory and indicates that GWIDO Image had a good acceptance by the target audience in terms of emotional response to it. This acceptance was also observed during the stage of holding free and confirmed during the discussion. According to the poll conducted during the experiment, players said that would play the game if it was available on web. When asked why they would play, they said that it is fun to play without knowing with whom one is playing; that the game was fun because there is no single right answer, this would depend on the partner. This randomnessöf responses allows the player to have different scores to each round even if the answer to the same question is always the same. In addition, the conversation with the subjects after the experience also represented an extremely rich experience for both sides: designers had the possibility to learn from the experience of potential users and users could be heard and could show their satisfaction and frustration with the interaction with the game interfaces. The main contribution of this research is in providing an environment to help elucidate the needs and perceptions of users, mainly those being digitally educated, in an innovative way. Certainly the task of creating usable, creative designs, exploring the new features of the Web2.0, and still for all audiences, including the digitally uneducated is very complex. Considering the difficulties and challenges faced by designers we proposed the GWIDO architecture that allows games to be developed to assist the designer in discovering which graphics would have a greater potential to reach a larger number of users with or without needs and familiar or not with web browsing. The GWIDO Images presented is just one example of the game that can be developed within GWIDO s platform. It also provides basic facilities and a set of initial games that can be used by designers to collect information and ideas that will serve as a subsidy for the development of interfaces for all. From the designer s point of view, the variety of choices contrasted with the variety of user profiles provides a number of possibilities that can be studied. The database generated by the games gives designers a large amount of data that can be mined in search of useful information for design. The preliminary user tests showed the acceptability of a GWIDO game for different user profiles. Further work involves investigations regarding common sense and culture issues in the game.

58 57 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Referências [1] N. C. S. University. The center for universal design. index.htm. [2] D. Schuler and A. Namioka. Participatory Design: Principles and Practices. Lawrence Erlbaum Associates, Mahwah, [3] M.J. Muller. Participatory design: the third space in HCI. In The humancomputer interaction handbook: fundamentals, evolving technologies and emerging applications, Lawrence Erlbaum Associates, Mahwah [4] L. von. Ahn. Human computation. In: Sleeman, D., Barker, K. (eds.) 4th International Conference on Knowledge Capture, pp ACM, New York [5] R. Romani and M.C.C. Baranauskas. GWIDO - Games With Interaction Design Objectives. Proceedings of the IADIS Internatinoal Conference WWW/Internet, pp IADIS, Roma IT [6] L. von. Ahn and L. Dabbish. Designing games with a purpose. Communications of ACM., 51(8), [7] e-cidadania Project. e-cidadania:- Systems and Methods for the Constitution of a Culture mediated by Information and Communication Technology. [8] K. Chorianopoulos and D. Spinellis. User interface evaluation of interactive TV: a media studies perspective. Univers. Access Inf. Soc., 5(2),

59 Resumos estendidos 58 Mapeamento de Redes Virtuais em Sustratos de Redes Gustavo Prado Alkmim, Nelson Luis Saldanha da Fonseca 1 Introdução A diversificação das aplicações e o intenso uso da Internet como infraestrutura global de comunicação acarretou em uma série de adições de protocolos e mecanismos à sua arquitetura, a fim de que se pudesse prover funcionalidades inexistentes na pilha TCP/IP. Estas adições muitas vezes são incompatíveis entre si e trazem overhead maior do que o necessário à sua implementação. Estudos [8] e [6] analisam as diversas funcionalidades e características da Internet atual e postularam que que estas tornam inviável a utilização da Internet no futuro. Estas entre outras motivações levou a concepção de novas arquiteturas e mecanismos para a Internet do futuro [3] [10]. Várias destas soluções baseiam-se na virtualização de redes pois permite a coexistência de diferentes arquiteturas de redes no núcleo da Internet, sem a necessidade de modificá-lo e sem restringir as características destes protocolos e arquiteturas. Dentre as diversas questões em aberto virtualização de redes, uma das mais importantes é a busca por mapeamentos eficientes de redes virtuais nos substratos da rede física [2] [7]. O mapeamento consiste em determinar uma alocação de roteadores e enlaces de uma rede virtual nos roteadores e enlaces do substrato. No entanto, mesmo tendo-se o conhecimento prévio de todas as requisições de redes virtuais, determinar um mapeamento ótimo é um problema NP-difícil [4], já que ele pode ser reduzido ao Problema de Separação de Multi-caminhos (Multipath Separator Problem)[1]. Além disso, para que se possa derivar um algoritmo de mapeamento realista é necessário considerar diversos aspectos, tais como heterogeneidade dos recursos do substrato, topologia genérica da rede virtual, padrão dinâmico das solicitações para o estabelecimento de redes virtuais, mecanismos de controle de admissão e fatores econômicos. Várias soluções para o problema de mapeamento já foram propostas [7] [2] [5] [9], porém, todas elas assumem hipóteses restritivas para tornar o problema tratável e diversas características importantes para a aplicação em ambientes reais não são consideradas. 2 Objetivos O objetivo deste trabalho é propor algoritmos eficientes para mapear redes virtuais em substratos de rede considerando ambientes realistas. O problema de mapeamento de redes virtuais busca mapear redes virtuais requisitadas por clientes em redes

60 59 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica físicas fornecidas pelo provedores de infraestrutura. Cada requisição de rede virtual é composta por nós virtuais e enlaces virtuais, e um conjunto de características que devem ser satisfeitas para que a requisição possa ser atendida. A rede física é composta por nós físicos e enlaces físicos e um conjunto de características que definem o estado da rede em um determinado instante de tempo. Diferentemente dos outros trabalhos da literatura, além do conjunto de nós físicos e do conjunto de enlaces físicos, considera-se que a rede física possui repositórios de imagens que contem o conjunto de software e protocolos necessários para instanciar as redes virtuais. Estas imagens são utilizadas para instanciar os roteadores virtuais nos roteadores físicos. Como todas as imagens precisam ser transferidas do repositório para o roteador físico antes de iniciar as redes virtuais, um algoritmo de mapeamento adequado precisa selecionar as imagens e os caminhos pelo qual cada imagem será transferida. 3 Algoritmos Propostos Neste trabalho foram desenvolvidos sete algoritmos para realizar o mapeamento de redes virtuais baseados em PLI, sendo seis com o objetivo de minimizar a largura de banda alocada pelas requisições virtuais e um com o objetivo de minimizar o consumo total de energia da rede. A principal contribuição deste trabalho é a consideração de características que tornam os algoritmos aptos para serem executados em ambientes reais. Estas características são resumidas abaixo: Existem de imagens de roteadores virtuais previamente instaladas e configuradas, permitindo que as requisições sejam instanciadas rapidamente. Estas imagens ficam localizam em repositórios espalhados no substrato Os roteadores virtuais especificam qual imagem ele ira utilizar. A memória flash dos roteadores físicos é limitada e deve ser utilizada para armazenar as imagens dos roteadores virtuais instanciados em um dado momento. A requisição especifica um tempo limite para ser instanciada. Para minimizar a largura de banda alocada para as requisições, foram desenvolvidos um algoritmo ótimo e cinco algoritmos aproximativos. Devido a complexidade do problema de mapeamento ser exponencial, o algoritmo ótimo leva muito tempo para ser executados em cenários com muitos nós físicos. Para contornar esta limitação, foram desenvolvidos os algoritmos aproximativos que possuem um baixo tempo de execução para cenários com um grande número de nós no substrato.

61 Resumos estendidos 60 4 Resultados Os testes foram realizados em ambientes estáticos e dinâmicos. Nos cenários estáticos apenas uma requisição foi mapeada por simulação e nos cenários dinâmicos várias requisições foram mapeadas sequencialmente no substrato, de tal forma que cada requisição utiliza uma porção dos recursos do substrato. O algoritmo aproximativo Root foi o que obteve o melhor desempenho nas métricas utilizadas. O tempo de execução médio do algoritmo para cenários com 400 nós físicos foi de apenas 3,57 segundos e a largura de banda alocada e o bloqueio são semelhantes aos do algoritmo ótimo. Os algoritmos baseados nas aproximações randômica e determinísticas também são executados rapidamente, em torno de 7 segundos, porém a qualidade da solução encontrada é inferior à do algoritmo Root. As versões iterativas dos algoritmos possuem alto tempo de execução e a solução encontrada é inferior à dos outros algoritmos. Para minimizar o consumo de energia do substrato, foram adicionadas restrições na formulação matemática para considerar o consumo de energia dos elementos da rede e a função objetivo foi modificada. O algoritmo desenvolvido foi baseado no algoritmo Root e os resultados mostram que a economia média de energia foi de 24%, porém a largura banda alocada é consideravelmente maior. 5 Conclusões e Trabalhos Futuros O mapeamento de redes virtuais em substratos de rede é um passo crucial para serviços que envolvem processamento de redes virtuais, portanto, algoritmos eficientes e realistas são importantes. Os algoritmos desenvolvidos estendem o o problema de mapeamento de rede virtual ao considerar a presença de imagens na rede e um número maior de características, tornando-o mais realista. O algoritmo Root desenvolvido para minimizar o largura de banda alocada possui baixo tempo de execução, sendo portanto aplicável em ambientes reais. Os resultados do algoritmo que minimiza o consumo de energia mostrou a importância de um algoritmo que tenha como objetivo minimizar o consumo de energia e de largura de banda alocada. Como trabalhos futuros, pretende-se (1) modificar a formulação e considerar a migração de elementos virtuais (roteadores e enlaces), (2) realizar inserção de Path Splitting nos algoritmos pois pode reduzir significativamente a taxa de bloqueio e o tempo de execução dos algoritmos e (3) desenvolver uma formulação matemática bi-critério, capaz de reduz o consumo de energia e a largura de banda alocada para as requisições.

62 61 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Referências [1] David G. Andersen. Theoretical approaches to node assignment. Unpublished Manuscript, December [2] N.M.M.K. Chowdhury, M.R. Rahman, and R. Boutaba. Virtual Network Embedding with Coordinated Node and Link Mapping. In IEEE INFOCOM, pages , April [3] Nick Feamster, Lixin Gao, and Jennifer Rexford. How to Lease the Internet in Your Spare Time. SIGCOMM Comput. Commun. Rev., 37(1):61 64, [4] Ines Houidi, Wajdi Louati, and Djamal Zeghlache. A Distributed and Autonomic Virtual Network Mapping Framework. In ICAS 08, pages , [5] Jing Lu and Jonathan Turner. Efficient Mapping of Virtual Networks onto a Shared Substrate. Technical Report WUCSE , Washington University, Accessed at 12/20/2010. [6] Fernandes N. C. Costa L. H. M. K. Moreira, M. D. D. and O. C. M. B. Duarte. Internet do futuro: Um novo horizonte. In Minicursos do Simpósio Brasileiro de Redes de Computadores - SBRC 2009, pages [7] Minlan Yu, Yung Yi, Jennifer Rexford, and Mung Chiang. Rethinking Virtual Network Embedding: Substrate Support for Path Splitting and Migration. SIGCOMM Comput. Commun. Rev., 38(2):17 29, [8] Theodore Zahariadis, Dimitri Papadimitriou, Hannes Tschofenig, Stephan Haller, Petros Daras, George Stamoulis, and Manfred Hauswirth. Towards a future internet architecture. In John Domingue, Alex Galis, Anastasius Gavras, Theodore Zahariadis, Dave Lambert, Frances Cleary, Petros Daras, Srdjan Krco, Henning Müller, Man-Sze Li, Hans Schaffers, Volkmar Lotz, Federico Alvarez, Burkhard Stiller, Stamatis Karnouskos, Susanna Avessta, and Michael Nilsson, editors, The Future Internet, volume 6656 of Lecture Notes in Computer Science, pages Springer Berlin / Heidelberg, [9] Y. Zhu and M. Ammar. Algorithms for Assigning Substrate Network Resources to Virtual Network Components. In IEEE INFOCOM, pages 1 12, April [10] Yaping Zhu, Rui Zhang-Shen, Sampath Rangarajan, and Jennifer Rexford. Cabernet: Connectivity Architecture for Better Network Services. In ACM CoNEXT 08, pages 64:1 64:6, 2008.

63 Resumos estendidos 62 Metodologia de Testes de Robustez por Injeção de Falhas para WS-Security Marcelo Invert Palma Salas and Eliane Martins 1 Resumo Neste trabalho descrevemos o uso de um injetor de falhas para emular um conjunto de ataques para testar a segurança de Web Services. A campanha de Injeção de Falhas (IF) está composta por 10 ataques classificados em dois grupos, Injection Attacks - XML Injection, XPath Injection, Cross site Scripting, Fuzzing Scan e Invalid Types - e Denial of Services (DoS) Attacks - Oversize Payload, Coercive Parsing, Oversize Cryptography e XML Bomb. Muitos dos ataques emulados estão entre os mais perigosos segundo o OWASP, quando são bem sucedidos. Um dos padrões para garantir a segurança no contexto de Web Services é o WS-Security (WSS), o qual, entre outros mecanismos, utiliza credenciais de segurança (Security Tokens) para garantir o controle de acesso às mensagens trocadas entre serviços. Os resultados mostraram que o uso desse mecanismo melhora a detecção dos ataques injetados, mas ainda não é suficiente para garantir a proteção contra estes últimos. Os estudos mostram uma clara predominância dos problemas de WSS, como a causa principal de perdida de informação nas transações de informação por Web Services, além a enorme complexidade de WSS e o peso da falha do software que tende a aumentar por sua arquitetura ligada distribuída, nossa proposta sugere analisa a robustez do Padrão de WS-Security ou WSS usando a técnica de Injeção de Falhas que simula as anomalias de software introduzindo falhas na comunicação de informação no sistema alvo para compreender o comportamento de um Web Service sem a proteção e com proteção de WSS em presença de ataques conhecidos para Web Services. Utilizamos a abordagem de Morais e Martins em [8] para remoção de vulnerabilidades que é baseada em Modelagem de Ataques chamada Árvore de Ataques, o objetivo é detetar vulnerabilidades de um protocolo, que um atacante pode explorar para causar falhas de segurança. O modelo representa tentativas bem-sucedidas e vulnerabilidades conhecidas. Essas informações estão disponíveis em diferentes fontes: base de dados de vulnerabilidades como a OWASP TOP TEN, livros, Internet e outros. O modelo de ataque pode ser atualizado tão logo novos ataques bem-sucedidos sejam reportados ou ser reusado para testes de novos protocolos de segurança. Esta técnica pode ser utilizada para validar um sistema tolerante a falhas, auxiliando na remoção de falhas, minimizando sua ocorrência e sua severidade, como também na prevenção de falhas. A remoção e a prevenção de falhas que se obteve melhorarão a dependabilidade de Web Services que utilizam WSS para sua proteção. Para sua aplicação selecionamos um conjunto de ataques com a premissa de

64 63 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica atacar as propriedades de confidencialidade e integridade. Selecionamos duas categorias de ataques: Ataques de Injeção e Denegação de Serviços e utilizamos a ferramenta WSInject [9] desenvolvida pelo Grupo de Pesquisa Robust Web. Os experimentos foram executados com cenários de ataque, derivados dos ataques descritos e com o objetivo de violar as propriedades de segurança da especificação WSS. O objetivo principal desses experimentos foi desenvolver uma metodologia para aplicar os testes de robustez por injeção de falhas em serviços que usem o WSS. Os testes confirmaram que a proposta detectou eficientemente vulnerabilidades no WSS, além de descobrir novas vulnerabilidades e variações dos atuais cenários de ataques usados para testar a qualidade de segurança que fornece WSS. As principais contribuições que este trabalho traz são: Fazer um levantamento das vulnerabilidades e técnicas de teste de robustez para Web Services. Com base nas vulnerabilidades conhecidas, determinar os ataques a ser aplicados. Usar a ferramenta do Laboratório WSInject, para tornar o teste de segurança mais automatizado possível. Determinar quais sãos as principais ataques que geram a maior quantidade de vulnerabilidades nos Web Services. Obter gráficos que mostrem o desempenho de injeção de falhas com a ferramenta WS-Inject para dois tipos de ataques: ataques de injeção e Denegação de Serviços. Aumentar o domínio de conhecimento do grupo de pesquisa Robust Web de injeção de falhas do Instituto de Computação (IC) da Unicamp, que já desenvolve diversos trabalhos na área de testes de robustez. Referências [1] Brown A., e Haas H. Web Services Glossary. W3C Working Group, [2] Laranjeiro, N.; Vieira, M.; Madeira, H. Improving Web Services Robustness. ICWS IEEE International Conference on Web Services, vol., no., pp , 6-10 July [3] Vieira, M.; Laranjeiro, N.; Madeira, H. Assessing Robustness of Web-Services Infrastructures. 37th Annual IEEE/IFIP International Conference ondependable Systems and Networks,vol., no., pp , Julho/2007.

65 Resumos estendidos 64 [4] Vieira, M.; Laranjeiro, N. Comparing Web Services Performance and Recovery in the Presence of Faults. IEEE International Conference on Web Services, vol., no., pp , 9-13 Julho/2007. [5] Laranjeiro, N; Viera, M. Testing Web Services for Robustness: A Tool Demo. 12th European Workshop on Dependable Computing, [6] Vieira, M.. Benchmarking the Robustness of Web Services. 13th IEEE International Symposium on Pacific Rim Dependable Computing, [7] Belli, Güldali. Software Testing via Model Checking. Computer and Information Sciences, v. 280/2004, p [8] A. Morais, E. Martins. Injeção de Ataques Baseados em Modelo para Teste de Protocolos de Segurança. Dissertação (Mestrado em Ciências da Computação) Instituto de Computação, Universidade Estadual de Campinas, 15/Maio/2009. [9] A. W. Valenti, W. Y. Maja, E. Martins, F. Bessayah, and A. Cavalli. WS- Inject: A Fault Injection Tool for Web Services.Technical Report.ICa10a22. Campinas, Brazil: Instituto de Computação, Universidade Estadual de Campinas, July 2010.

66 65 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Metodologia para Projeto e Gestão da Segurança para Computação em Nuvem Carlos Alberto da Silva and Anderson Soares Ferreira A Computação em nuvem impõe a mudança de visão de computação centrada em hardware para uma computação orientada por serviços. Neste ambiente, a rede passa a se comportar como um repositório de computadores virtuais escalável e confiável [1]. A criação do ambiente de computação em nuvem, totalmente integrado, utiliza como base as tecnologias de: virtualização, computação utilitária, computação em grade, computação automática, arquiteturas orientadas a serviço (SOA) e aplicações na internet. Individualmente, tais tecnologias heterogêneas e muitas vezes incompatíveis, mas quando combinadas são capazes de criar um modelo revolucionário, e transformam um conjunto fragmentado de componentes de hardware e software em uma infraestrutura única e flexível. O modelo operacional e as tecnologias utilizadas para prover os serviços do ambiente de computação em nuvem apresentam diferentes níveis de riscos se comparado ao ambiente tradicional de tecnologia de informação [2]. Apesar dos atraentes benefícios desta tecnologia, é crescente a preocupação com a segurança das informações e aplicações em ambientes de computação em nuvem, fazendo com que questões sobre a segurança se tornassem o principal obstáculo para a adoção da computação em nuvem [3]. A certificação para ISMS da ISO/IEC é um meio de garantir que a organização certificada implantou uma política de segurança e que possui um sistema para gerência da segurança de acordo com os padrões desta norma. No entanto, estas normas são apenas um código de conduta/orientação ao invés de um padrão de implementação, desta forma as organizações têm liberdade para escolher e implementar controles como entenderem. Mas tal liberdade tem gerado mecanismo de monitoramento e controle dos níveis de segurança para computação em nuvem sem padronização e de difícil comparação. O objetivo deste projeto de pesquisa é combinar as abordagens de gerenciamento baseado em modelos e o projeto de gerenciamento de sistemas de segurança, com o intuito de construir uma metodologia completa para projeto e gestão da segurança. Essa metodologia deve compreender o projeto, configuração, monitoração e auditoria de mecanismos de segurança, de maneira uniforme e convenientemente automatizada. Além disso, a metodologia deve ser robusta e flexível o bastante para incorporar naturalmente outros tipos de mecanismos de segurança com pequenas adaptações para o ambiente de computação em nuvem. Métrica: é um padrão de medida. Uma métrica é um valor resultante da medição de algo. Métricas fornecem uma descrição numérica de uma determinada característica dos itens que estão sendo investigados. A métrica define tanto o que

67 Resumos estendidos 66 está sendo medido (o atributo) quanto como ele está sendo medido (a unidade de medida) [4]. As métricas são classificadas em: Métricas de previsão é uma meta numérica relacionada a um fator a ser cumprido durante um projeto, fornecendo uma indicação precoce de fato futuro, produto, processo ou objetivo de projeto que serão satisfeitas. E são úteis para medir a resiliência, ou retorno sobre o investimento (ROI); Métricas de avaliação referem-se a coleta adequada de medidas para controlar um projeto, dadas as suas características, são úteis para medir o cumprimento dos requisitos regulamentares, promover informações para tomada de decisão, melhoria de processos, ou retrabalho. Medição: é o processo de coleta de métricas, e estabelece regras para a interpretação dos resultados [4]. As métricas podem ser compostas de sub-elementos, eles são referidos como Primitivas. As Primitivas são uma descrição numérica de uma determinada característica dos sub-elementos a serem explorados. As mesmas questões que surgem com as métricas são igualmente aplicáveis as primitivas também. Quaisquer restrições ou controles relacionados com as primitivas são definidos no processo de medição. As Métricas de segurança são uma técnica pela qual monitoramos e comparamos o nível de segurança e privacidade, ou status de privacidade, ou o índice de segurança de um ambiente computacional. O uso criterioso de métricas de segurança promove a transparência, a tomada de decisão, previsibilidade, e planejamento pró-ativo [5]. De uma forma geral, enfatizar políticas de segurança é assegurar que os objetivos de negócio em nível mais abstrato ou alto sejam alcançados, e que os controles devem ser proporcionais com o valor daquilo que buscamos proteger [6]. A Figura 1 ilustra esquematicamente os níveis de abstração presentes no ciclo de desenvolvimento de sistemas de segurança, e que se insere na fase de projeto desta proposta. Esse esquema segue o paradigma do ciclo de vida clássico da engenharia de software, conhecido como modelo cascata, em que o desenvolvimento avança de maneira descendente (top-down) em níveis de abstração. Além disso, o esquema segue, também, a classificação de tipos de política de segurança [8], em conjunto com a noção de hierarquias de política de segurança [7], visto que começa com políticas mais abstratas e chega à configuração de mecanismos de segurança específicos. Como resultados parciais já obtidos: 1. Uma Metodologia para projeto e gestão de segurança para Computação na nuvem, com: 1.1. Especificação e implementação contratos de security-sla integrados a política de segurança integrada da organização; 1.2. Especificação de um índice de segurança para aferir o nível de segurança para os serviços providos, e permitindo abstraçõoes

68 67 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Figura 1: Níveis de Abstração no Desenvolvimento de Sistemas de Segurança para o ambiente do host, ou ambiente do usuário, ou máquina virtual; 1.3. Especificação de um conjunto preliminar de 116 métricas de segurança para o ambiente de computação na nuvem; 1.4. Especificação de um algoritmo para alocação de recursos com base em um índice de segurança; 2. Criação do Projeto de Segurança da Computação na Nuvem (Security in Cloud Computing Project - SCCP) usando as funcionalidades e elementos da metodologia proposta para o projeto e gestão da segurança, sendo gerenciado pelo Laboratório de Administração e Segurança de Sistemas (LAS) do Instituto de Computação da Unicamp, e criado com a missão de pesquisar e desenvolver novas tecnologias de segurança para ambiente de computação na nuvem; O projeto partirá das ferramentas já desenvolvidas na abordagem de gerenciamento baseado em modelos, incorporando os conceitos de projeto arquitetural da abordagem de projeto de sistemas de segurança para aumentar a escalabilidade dos modelos, e expandirá gradualmente a sua cobertura para abarcar as cinco funcionalidades mencionadas acima, como também os mecanismos de segurança correspondentes. A metodologia será desenvolvida, portanto, através de um processo espiral, através de incrementos completos compostos de duas etapas: i) serão especificadas as estruturas formais de representação para uma funcionalidade (ou grupo de funcionalidades) de um sistema de segurança; ii) essas estruturas serão utilizadas para implementar um módulo de uma ferramenta e aplicadas a um sistema real. O desenvolvimento continua, iterando esses passos, até que a metodologia esteja completamente estabelecida. Este processo tem a vantagem de verificar a aplicabilidade das estruturas formais desenvolvidas em cada incremento, realizando as adaptações necessárias, ao invés de

69 Resumos estendidos 68 esperar o final de toda a especificação da metodologia para só então chegar à prática. Assim, os incrementos vão-se validando e complementando durante o próprio ciclo de desenvolvimento. Ao final, um estudo de caso completo, simulando um sistema de segurança de uma organização, servirá para efetuar a validação empírica da metodologia. A ferramenta a ser desenvolvida utilizará as linguagens java e script bash, escolha devida à ampla disponibilidade de bibliotecas gráficas e à portabilidade oferecidas por esse ambiente. A plataforma a ser utilizada será ambiente de computação em nuvem OpenNebula, em conjunto a programas de software-livre que implementem os mecanismos de segurança necessários. A disponibilidade de códigos-fonte e gratuidade desses programas justificam a sua escolha. Por fim, pretendemos sempre nos manter atualizados com a literatura ao redor dos problemas de Gestão de segurança, assim como eventualmente manter-se atualizado com resultados na área de segurança em Computação na nuvem dos problemas que de alguma forma estejam relacionados com os de nosso interesse. Estar próximo dos trabalhos recentes sempre contribui para gerar novas idéias nos problemas que estamos estudando. Referências [1] Mell, P. and Grance, T. (2011). The nist definition of cloud computing. URL: Ultimo acesso em 28/11/2011 [2] CSA (2009). Security guidance for critical areas of focus in cloud computing. cloud security alliance. V2.1. [3] Foster et al. 2008] Foster, I., Zhao, Y., Raicu, I., and Lu, S. (2008). Cloud computing and grid computing 360-degree compared. In Grid Computing Environments Workshop, 2008, GCE 08, pages [4] Herrmann, D. S. (2007). Complete guide to security and privacy metrics. Auerbach Publications. ISBN: [5] Hayden, L. (2010). IT Security Metrics: A Practical Framework for Measuring Security & Protecting Data. McGraw-Hill Osborne [6] Landwehr, C. (2001). Computer security. International Journal of Information Security, 1:3-13. [7] Wies, R. (1995). Using a classification of management policies for policy specification and policy transformation. Chapman & Hall. [8] Sterne, D. F. (1991). On the buzzword security policy. IEEE Symposium on Security and Privacy. Oakland, California, USA.

70 69 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Qualidade Afetiva em Sistemas de Informação: Design de Interação para e com Crianças em Contexto de Aprendizado Elaine C. S. Hayashi e M. Cecilia C. Baranauskas 1 Introdução Conforme a tecnologia e computadores evoluem, também as relações entre seres humanos e artefatos digitais mudam, trazendo novos desafios para as pesquisas na área de Interação Humano-Computador (IHC). As mudanças de paradigmas que seguem essa evolução abrangem desde a preocupação em ajustar a interação entre homem e máquina (identificando e resolvendo problemas específicos com objetivo de reduzir erros, 1 o paradigma), passando pela necessidade de modelar as ações humanas (2 o paradigma) até considerar explicitamente valores em design (3 o paradigma) [6]. Um dos desafios da pesquisa em IHC no terceiro paradigma é apoiar as ações situadas no mundo, beneficiando-se de padrões que são comuns à pesquisa do primeiro e segundo paradigmas, mas sem se limitar a eles. Essas novas necessidades se devem ao fato da tecnologia não ter mais como propósito único nos ajudar a cumprir nossas tarefas ou reproduzir nossas ações: os artefatos digitais são parte das nossas vidas. Entre os novos elementos que precisam ser considerados na teoria e prática de IHC estão cultura [1] [2] [6] e afetividade. Pelo fato de as emoções prepararem, influenciarem e/ou motivarem ações, elas são essenciais para o comportamento humano, determinando, entre outras coisas, a forma como uma pessoa aprende [16]. As crianças, por exemplo, respondem a como algo é dito, muito antes que possam entender o que foi dito [17]. A emoção, tal como vista por pesquisadores da área de Computação Afetiva [17], é algo quantitativamente mensurável e objeto direto de estudo científico [2]. Já Boehner et al. [2], no domínio de IHC, entendem a emoção como fenômeno dinâmico, culturalmente mediado, construído e experimentado socialmente a partir de interações do sujeito no mundo. Ao invés de detectar, interpretar e transmitir emoção, sistemas deveriam apoiar usuários humanos para que eles mesmos pudessem compreender, interpretar e vivenciar emoção com toda sua ambiguidade e complexidade [2]. Um dos desafios desta pesquisa é compreender esses fenômenos - presentes nas práticas diárias da escola - explicitando-os e materializando, em sistemas educacionais, maneiras de possibilitar à criança a expressão dos seus estados emocionais e afetivos por meio da tecnologia digital. A literatura apresenta propostas que abordam isoladamente os temas emoção e afeto, design de interação para e com crianças, sistemas educacionais, e intersecções entre cada dois desses temas. Porém, são raros os trabalhos que tratam os três temas em conjunto [7]. A importância da emoção e afeto nos processos de aprendizagem

71 Resumos estendidos 70 [4] e os benefícios da participação das crianças no design de sistemas para seu uso [5], encorajam investigação que articule os três temas. 2 Proposta e objetivos A necessidade de articular questões afetivas com educacionais no design de aplicações para uso em contexto escolar define nosso problema de pesquisa. A proposta de trabalho é definir uma abordagem que inclua aspectos afetivos no processo de design. O objetivo geral desta pesquisa de doutorado é desenvolver um framework conceitual para promover o design de sistemas de interação para e com crianças, em contexto educacional, que torne explícitos aspectos emocionais e afetivos no produto e processo de design. Um primeiro passo na concepção desse framework envolveu a proposição do conceito de Afetibilidade, que definimos como sendo uma medida subjetiva que denota as diferentes experiências emocionais e afetivas que podem ser evocadas no usuário durante sua interação com um artefato [7] [8]. Em analogia aos conceitos de Aprendibilidade (learnability) e Jogabilidade (Playability), Afetibilidade refere-se aos aspectos que fazem a interação com um sistema de boa ou má qualidade afetiva. Entendemos por framework conceitual um conjunto de ideias, princípios e artefatos que formam uma estrutura de apoio para o design (tomada de decisões, planejamento e construção) de interfaces de usuários de sistemas computacionais. Dentre os objetivos específicosdesta investigação, podemos citar: 1) Compreender os conceitos de emoção e afeto e identificar oportunidades de pesquisa e desafios relacionados a esses conceitos no contexto de design de interação para sistemas educacionais; 2) Identificar as principais bases da teoria em educação e psicologia que possam apoiar o design para Afetibilidade; 3) Propor uma abordagem que auxilie designers de sistemas a incluírem questões afetivas em seus projetos, de maneira articulada aos objetivos educacionais; 4) Avaliar a viabilidade da abordagem proposta, usando-a para projetar uma aplicação computacional, e também para analisar aplicações existentes. Esta pesquisa está situada na área de IHC. Estão fora do escopo deste trabalho estudos relacionados às áreas de Inteligência Artificial (e.g. Tutores Inteligentes que adaptam seu comportamento com base em aspectos emocionais de seus usuários) e Reconhecimento de Imagens (e.g. identificação facial de emoções), embora os resultados do estudo possam eventualmente contribuir para trabalhos nessas áreas. Como resultados esperados da pesquisa, podemos destacar: - Disponibilização de um sistema computacional (a ser utilizado em laptops educacionais de baixo custo); - Disponibilização de um framework (conceito, método e ferramentas) para que designers de aplicações educacionais possam se orientar na criação de sistemas que incluam a questão afetiva.

72 71 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Um efeito potencial do trabalho é a melhoria da qualidade do ensino mediado por tecnologia, por meio da humanização das formas de interação via artefatos digitais. 3 Metodologia Compreender o ecossistema de uma comunidade escolar (com suas necessidades, habilidades e desejos) a fim de construir colaborativamente uma utilização mais significativa e valiosa da tecnologia exige uma abordagem sócio-técnica. Nesse sentido, adotamos como referencial teórico e metodológico os princípios e artefatos da Semiótica Organizacional - SO [12] e do Design Participativo - DP [15] articulados com as propostas da Pesquisa Ação - AR [1] [11] [19]. AR é uma metodologia de pesquisa qualitativa, na qual o pesquisador participa ativamente em conjunto com uma comunidade parceira, contribuindo para a melhoria de uma prática social, ao mesmo tempo em que realiza sua pesquisa [11] [19]. O processo segue um fluxo de ciclos que inclui as etapas de: planejamento, ação, observação e reflexão. Este projeto de pesquisa de doutorado está inserido no contexto do Projeto XO (CNPq # /2010-9) e a comunidade parceira com a qual estamos trabalhando é a Escola Municipal de Ensino Fundamental Padre Emílio Miotti, localizada na periferia de Campinas, SP. Esta pesquisa também está inserida no contexto do Projeto EcoWeb (CNPq # /2010-0). No cenário desses projetos, com o objetivo de (1) construir e validar o framework e (2) especificar e prototipar um sistema computacional para uso no contexto educacional, planejamos, entre outras, as atividades descritas a seguir: - Observação participativa: A atividade de observação da pesquisa qualitativa envolve mais do que simplesmente observar um dado grupo ou cultura [3]. Segundo [18] e [3], dentre os elementos que os pesquisadores devem considerar estão: definição de tamanho de amostragem relevante; definição do papel do observador; identificação da teoria de base; análise dos dados; desenvolvimento de relatórios de pesquisa. Estamos envolvidos em atividades de observação participativa na Emílio Miotti, como parte da AR, desde o segundo semestre de No primeiro semestre de 2012, essas atividades estiveram focadas em duas turmas: uma com alunos do 2 o ano do ensino fundamental e outra com alunos do 8 o ano. - Atividades de design: O objetivo destas atividades é permitir que alunos e professores da Emílio Miotti participem ativamente no processo de design de um sistema computacional para ser usado no contexto da escola. Para isso, serão realizadas quatro Oficininhas de Design com cada uma das turmas - 2 o e 8 o anos (oito oficinas ao todo): 1. Atividade para quebrar o gelo e esclarecer as atividades; 2. Atividade de design; 3. Atividade para avaliação do protótipo; e 4. Avaliação do sistema rodando no laptop XO. - Questionários para avaliação da resposta afetiva. Para aumentar a credibilidade dos resultados [13], além do contato prolongado da imersão na escola, coleta informal de relatos de alunos e professores, e observações participativas, aplicaremos

73 Resumos estendidos 72 questionários para avaliar a resposta afetiva dos participantes. Para isso, utilizamos o Self-Assessment Maniquin (SAM), instrumento pictográfico amplamente utilizado em diversos contextos [9]. O sistema a ser desenvolvido terá por base o framework proposto - resultando, desta forma, em uma validação parcial do framework. Adicionalmente, outras atividades poderão ser utilizadas para avaliação de viabilidadedesse framework. Em suma, direcionados pela pergunta de pesquisa É possível incluir no processo de design de sistemas educacionais para crianças considerações sobre aspectos emocionais e afetivos da interação?, e considerando a hipótese afirmativa, objetivamos informar o design de tais sistemas por meio de princípios que vão compor um framework para auxiliar designers. Para isso, pretendemos nos basear nas referências da literatura em educação, design para e com crianças e qualidade afetiva. Experiências e observações in loco, em linha com a metodologia da AR, contribuirão para melhorar a compreensão de como as interações em sala de aula ocorrem, com foco na expressão e comunicação dos estados afetivos. Além disso, as atividades das Oficinas de Design e os resultados quantitativos dos questionários para avaliação da resposta afetiva dos usuários nos fornecerão os elementos necessários para a elaboração/validação do framework conceitual. Após o exame de Qualificação de Doutorado será feita a prototipação de aplicativos como prova de conceito. Após um processo iterativo de validação e redesign, esperamos que o aplicativo criado possam servir para confirmar a efetividade da proposta apresentada no framework, comprovando nossa hipótese inicial de que é possível incluir questões emocionais e afetivas no design de sistemas educacionais. O design de sistemas educacionais para crianças considerando aspectos emocionais e afetivos da interação marca a principal contribuição desta pesquisa de doutorado. A revisão bibliográfica que apresentamos em [7] [8] sugere a originalidade do tema. 4 Resultados Preliminares Como resultados preliminares da pesquisa, destacamos as seguintes publicações: Levantamento e comparação de frameworks propostos relacionados às áreas de design para e com crianças, educação e qualidade afetiva [7] [8]; Realização, descrição e análise de atividades realizadas na escola Emílio Miotti [10] [14]; Avaliação quantitativa e qualitativa da resposta afetiva de uma comunidade escolar em relação ao contato inicial com uma nova tecnologia digital (o laptop XO) [9]; Proposição do conceito de Afetibilidade (Affectibility) [7] [8];

74 73 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Este trabalho é apoiado financeiramente pelo CNPq (processos # /2011, / e /2010-0) Referências [1] David E. Avison, Francis Lau, Michael D. Myers, and Peter Axel Nielsen. Action research. Commun. ACM, 42(1):94 97, January [2] Kirsten Boehner, Rogerio Depaula, Paul Dourish, and Phoebe Sengers. How emotion is made and measured. In Int. J. Human-Computer Studies, pages , [3] Rolly Constable. Ethnography, observational research, and narrative inquiry [4] Y. de La Taille, M.K. de Oliveira, and H. Dantas. Desenvolvimento do juizo moral e afetividade na teoria de jean piaget. In Piaget, Vygotsky, Wallon: teorias psicogenéticas em discussão. Summus Editorial, [5] Allison Druin. Children as codesigners of new technologies: Valuing the imagination to transform what is possible. New Directions for Youth Development, 2010(128):35 43, [6] Steve Harrison, Courtesy Art, Deborah Tatar, and Phoebe Sengers. The three paradigms of hci. In alt.chi, [7] Elaine C. S. Hayashi and M. Cecilia C. Baranauskas. The affectibility concept in systems for learning contexts. International Journal for e-learning Security (IJeLS), 1(1/2):10 18, [8] Elaine C. S. Hayashi and M. Cecilia C. Baranauskas. Towards a framework for the affective and emotional faces of usability. pages 88 95, [9] Elaine C. S. Hayashi, Rita M. M. Khater, and M. Cecilia C. Baranauskas. Affective aspects of the experience with low cost laptops in educational context to be published. [10] Elaine C. S. Hayashi, M. Cecilia Martins, and M. Cecilia C. Baranauskas. Schools as organizations: A semiotic approach towards making sense of information technology to be published. [11] Gillian R. Hayes. The relationship of action research to human-computer interaction. ACM Trans. Comput.-Hum. Interact., 18(3):15:1 15:20, August [12] Kecheng Liu. Semiotics in Information Systems Engineering. CUP, Cambridge, UK, 2000.

75 Resumos estendidos 74 [13] M B Miles and A M Huberman. Qualitative data analysis: a sourcebook of new methods. Sage Publications, [14] Leonardo C. Miranda, Elaine C. S. Hayashi, Rosangela Assis, M. Cecilia Martins, and M. Cecilia C. Baranauskas. Laptop xo dentro e fora da sala de aula: Expressao, diversao e alfabetizacao. XXII SBIE e XVII WIE, pages , [15] Michael J. Muller and Sarah Kuhn. Participatory design. Commun. ACM, 36(6):24 28, June [16] Don Norman. Emotion & design: attractive things work better. interactions, 9(4):36 42, July [17] R. W. Picard, S. Papert, W. Bender, B. Blumberg, C. Breazeal, D. Cavallo, T. Machover, M. Resnick, D. Roy, and C. Strohecker. Affective learning a manifesto. BT Technology Journal, 22(4): , October [18] Margarete Sandelowski. Sample size in qualitative research. Research in Nursing and Health, 18(2): , [19] Cal Swann. Action research and the practice of design. Design Issues, 18(1):49 61, 2006.

76 75 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Recuperação de Vídeos Comprimidos por Conteúdo Jurandy Almeida, Neucimar J. Leite e Ricardo da S. Torres Avanços recentes na tecnologia têm permitido o aumento da disponibilidade de dados de vídeo, criando grandes coleções de vídeo digital. Isso tem despertado grande interesse em sistemas capazes de gerenciar esses dados de forma eficiente. Fazer uso eficiente de informações de vídeo requer o desenvolvimento de sistemas capazes de abstrair representações semânticas de alto nível a partir das informações de baixo nível dos vídeos, conhecidos por sistemas de gestão de vídeos por conteúdo [1]. Devido à complexidade desse material, existem cinco desafios principais na construção de tais sistemas [1]: (1) dividir o fluxo de vídeo em trechos manuseáveis de acordo com a sua estrutura de organização, (2) implementar algoritmos para codificar as propriedades de baixo nível de um trecho de vídeo em vetores de características, (3) desenvolver medidas de similaridade para comparar esses trechos a partir de seus vetores, (4) responder rapidamente a consultas por similaridade sobre uma enorme quantidade de sequências de vídeo e (5) apresentar os resultados de forma amigável a um usuário. Inúmeras técnicas têm sido propostas para atender a tais requisitos. A maioria dos trabalhos existentes envolve algoritmos e métodos computacionalmente custosos, em termos tanto de tempo quanto de espaço, limitando a sua aplicação apenas ao ambiente acadêmico e/ou a grandes empresas. Contrário a essa tendência, o mercado tem mostrado uma crescente demanda por dispositivos móveis e embutidos. Nesse cenário, é imperativo o desenvolvimento de técnicas tanto eficazes quanto eficientes a fim de permitir que um público maior tenha acesso a tecnologias vigentes. O trabalho desenvolvido nesta tese contribuiu para resolver esse problema. Nesse contexto, o objetivo da tese foi oferecer soluções a vários problemas em aberto na literatura de processamento de vídeos, voltados à análise, indexação e recuperação de vídeos digitais; e contribuir com a superação dos desafios de pesquisa envolvidos na especificação e implementação de sistemas de gestão de vídeos por conteúdo que possam ser aplicados a dispositivos com baixo poder computacional e/ou em ambientes que necessitem de uma resposta rápida, mantendo um padrão de qualidade comparável ao estado da arte. A Figura 1 apresenta o fluxograma de processamento desses sistemas. O primeiro passo para gerenciar a informação de vídeo é estruturá-la em um conjunto de unidades compreensíveis e gerenciáveis, de forma que o seu conteúdo seja consistente em termos de operações da câmera e eventos visuais. Isso tem sido o objetivo de uma área de pesquisa bastante conhecida, denominada segmentação de vídeo. Diferentes técnicas têm sido propostas na literatura para lidar com a segmentação temporal de sequências de vídeo. Muitos desses trabalhos de pesquisa estão centrados no domínio descomprimido. Embora os métodos existentes proporcionem uma qualidade elevada, a decodificação e a análise de uma sequência de vídeo são duas tarefas extremamente lentas e requerem uma enorme quantidade de espaço.

77 Resumos estendidos 76 Coleção de Vídeos Estruturar cada Vídeo Extrair Características Descrever em Forma Vetorial Indexar os Vetores de Características... {63, 4, 25, 30, 128,... }... Offline Vídeo de Consulta Estruturar em Partes Extrair Características Descrever em Forma Vetorial Resumir cada Vídeo Lista de Resultados Busca por Similaridade Online Figura 1: Fluxo de processamento de um sistema de gestão de vídeos por conteúdo. A contribuição publicada em [3] introduz uma nova abordagem para a segmentação temporal de sequências de vídeo, que opera diretamente no domínio comprimido. Ela baseia-se na exploração de características visuais extraídas do fluxo de vídeo e em um algoritmo simples e rápido para detectar mudanças temporais. A melhoria da eficiência computacional torna essa técnica adequada em tarefas online. Fazer uso eficiente da informação de vídeo requer que os dados sejam armazenados de maneira compacta. Para isso, um vídeo deve ser associado com características apropriadas a fim de permitir qualquer recuperação futura. Uma característica importante é a mudança de intensidade temporal entre quadros sucessivos, a qual é geralmente atribuída ao movimento de objetos ou a operações de câmera. Inúmeros algoritmos têm sido propostos na literatura para estimar o movimento da câmera a partir das sequências de vídeo. Essas soluções consistem tipicamente de uma abordagem de duas etapas: primeiro identificando o movimento e em seguida associando-o a um modelo paramétrico. A forma paramétrica mais popular utilizada é o modelo afim, que não está diretamente relacionado às operações físicas da câmera. A contribuição publicada em [6] introduz uma nova abordagem para estimar o movimento da câmera em sequências de vídeo, com base em um modelo de operações de câmera. Esse método gera o modelo de câmera usando combinações lineares de protótipos de fluxo ótico produzidos por cada operação de câmera. Após obter representações compactas, é preciso ainda definir uma medida de similaridade para comparar vídeos a partir de suas assinaturas. Existem duas questões importantes nessa tarefa: robustez e discriminância. Robustez é a quantidade de inconsistência dos dados tolerada pelo sistema antes da ocorrência de um falso positivo. Discriminância é a capacidade do sistema de rejeitar dados irrelevantes e reduzir os falsos positivos.

78 77 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Diferentes técnicas têm sido propostas na literatura para resolver o problema da comparação entre sequências de vídeo. Embora os métodos existentes proporcionem uma qualidade elevada em termos de robustez e discriminância, a principal desvantagem deles é que a assinatura gerada é proibitiva em termos de espaço de armazenamento, e sua comparação usando uma medida de similaridade baseada em uma abordagem quadro a quadro é impraticável em bases de dados muito grandes. A contribuição publicada em [2] introduz uma nova abordagem para a comparação de sequências de vídeo, que atua diretamente no domínio comprimido. Ela baseia-se no reconhecimento de padrões de movimento extraídos do fluxo de vídeo, que são acumulados para formar um histograma normalizado. Essa abordagem computacionalmente simples é robusta a várias distorções e transformações. A melhora da eficiência computacional torna essa técnica adequada a enormes coleções de vídeo. Quando um usuário especifica um padrão de consulta ao sistema, a sua assinatura é extraída e a medida de similaridade é aplicada para identificar todas as assinaturas similares. Para garantir uma resposta rápida, é imperativo o desenvolvimento de algoritmos que acelerem esse processo. Elaboradas estruturas de indexação têm sido propostas a fim de organizar as assinaturas extraídas e facilitar a busca por vídeos semelhantes. A maioria dos índices existentes é construída a partir do particionamento de um conjunto de objetos usando somente a informação de distância entre eles. A fim de manter o balanceamento da estrutura, tal conjunto é fragmentado em partes de mesmo tamanho, ignorando o agrupamento inerente de seus objetos. Em geral, essas técnicas podem ser divididas em duas categorias diferentes. Uma classe de métodos produz partições, portanto, essas partes são disjuntas, o que pode separar objetos próximos, afetando gravemente a eficiência de busca. Outra classe de métodos produz agrupamentos, portanto, essas partes podem se sobrepor, o que pode degradar consideravelmente o tempo das consultas. A contribuição publicada em [7] avalia o desempenho de uma nova estrutura de indexação, chamada de BP-tree (do inglês, Ball-and-Plane tree), a qual é construída dividindo-se um conjunto de objetos em grupos compactos. Ela combina vantagens de ambos os paradigmas disjuntos (partições) e não disjuntos (agrupamentos) a fim de obter uma estrutura de aglomerados densos e pouco sobrepostos, melhorando a eficiência no processamento de consultas por similaridade. No final, os usuários são apresentados com uma lista de vídeos similares a um dado padrão de consulta especificado. É inviável esperar que um usuário assista a todo o conteúdo desses vídeos ou uma boa parte dele, a fim de descobrir do que eles realmente se tratam. Portanto, é importante fornecer aos usuários uma representação concisa do vídeo para dar uma ideia do seu conteúdo, sem ter que vê-lo completamente, de modo que um usuário possa decidir se quer ou não assistir ao vídeo todo. Diferentes técnicas têm sido propostas na literatura para resolver o problema de resumir sequências de vídeo. Muitos desses trabalhos de pesquisa estão centrados no domínio descomprimido. Devido ao longo tempo gasto para decodificar e analisar uma sequência de vídeo, os resumos são muitas vezes produzidos completamente offline, armazenados e entregues a um usuário quando solicitado. O inconveniente

79 Resumos estendidos 78 desse sistema é a completa falta de personalização pelo usuário. A contribuição publicada em [4, 5, 8] introduz VISON (do inglês, VIdeo Summarization for ONline applications), uma nova abordagem para resumir sequências de vídeo, que atua diretamente no domínio comprimido. Ela baseia-se na exploração de características visuais extraídas do fluxo de vídeo e em um algoritmo simples e rápido para resumir o seu conteúdo. A melhoria da eficiência computacional torna essa técnica adequada para tarefas online. Tal método foi projetado para oferecer customização: usuários podem controlar a qualidade dos resumos e também especificar o tempo que estão dispostos a esperar. Em síntese, foi realizado nesta tese um estudo abrangente em sistemas de gestão de vídeos por conteúdo, abordando temas que englobam desde a caracterização de vídeos até aspectos de indexação e armazenamento desses dados. Mais especificamente, esta tese introduziu cinco abordagens originais voltadas à análise, indexação e recuperação de vídeos digitais [2, 3, 4, 5, 6, 7, 8]. O resultado final da combinação desses métodos é a especificação e implementação de um protótipo de ambiente computacional para a gestão de vídeos que é, ao mesmo tempo, eficiente e eficaz, mantendo um padrão de qualidade comparável ao estado da arte. Maiores detalhes sobre a pesquisa desenvolvida nesta tese podem ser encontrados em [1]. Referências [1] J. Almeida. Recuperação de Vídeos Comprimidos por Conteúdo. PhD thesis, Instituto de Computação, Unicamp, Campinas, SP, Brazil, [2] J. Almeida, N. J. Leite, and R. S. Torres. Comparison of video sequences with histograms of motion patterns. In IEEE Int. Conf. Image Processing (ICIP 11), pages , [3] J. Almeida, N. J. Leite, and R. S. Torres. Rapid cut detection on compressed video. In Iberoamerican Congress on Pattern Recognition (CIARP 11), pages 71 78, [4] J. Almeida, N. J. Leite, and R. S. Torres. Online video summarization on compressed domain. Journal of Visual Communication and Image Representation, DOI: /j.jvcir [5] J. Almeida, N. J. Leite, and R. S. Torres. VISON: VIdeo Summarization for ONline applications. Pattern Recognition Letters, 33(4): , Mar [6] J. Almeida, R. Minetto, T. A. Almeida, R. S. Torres, and N. J. Leite. Robust estimation of camera motion using optical flow models. In Int. Symp. Visual Computing (ISVC 09), pages , [7] J. Almeida, R. S. Torres, and N. J. Leite. BP-tree: An efficient index for similarity search in high-dimensional metric spaces. In ACM Int. Conf. Information and Knowledge Management (CIKM 10), pages , 2010.

80 79 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica [8] J. Almeida, R. S. Torres, and N. J. Leite. Rapid video summarization on compressed video. In IEEE Int. Symp. Multimedia (ISM 10), pages , 2010.

81 Resumos estendidos 80 Squared Metric Facility Location Problem 1 Flávio K. Miyazawa (Advisor), Lehilton L. C. Pedrosa We considered a generalization of the Metric Facility Location Problem (MFLP), where the distance function is a squared metric, here named the Squared Metric Facility Location Problem (SMFLP). Then we analyzed three of best known approximation algorithms for the MFLP based on the primal-dual strategy for this new generalization. These algorithms are analyzed using the dual-fitting technique, and, in particular, using the so called factor-revealing linear programs. The original analysis of such programs have been done through analytical proofs, that are usually very long and tedious, and are not always trivial. The investigation of such algorithms applied to the SMFLP led to a new technique to systematically bound factor-revealing linear programs and obtain the approximation factors of the algorithms. Using this new technique is straightforward, and was applied to obtain very tight bounds on the approximation factors for the SMFLP case, and to simplify and improve the analysis of the MFLP case. Let C and F be finite disjoint sets. We call cities the elements of C and facilities the elements of F. For each facility i and city j, let c ij be a non-negative number representing the cost to connect i to j. Additionally, let f i be a non-negative number representing the cost to open facility i. For each city j and subset F of F, let c(f, j) = min i F c ij. The Facility Location Problem (FLP) consists of the following: given sets C and F, and c and f as above, find a subset F of F such that i F f i + j C c(f, j) is minimum. A well-studied particular case of the FLP is its so called metric variant. We say that an instance (C, F, c, f) of the FLP is metric if c ij c ij + c i j + c i j, for all facilities i and i, and cities j and j. In the context of the FLP, this inequality is called the triangle inequality. The Metric Facility Location Problem, denoted by MFLP, is the particular case of the FLP that considers only metric instances. Several algorithms were proposed in the literature for the MFLP [1, 5, 6, 8, 9]. In particular, the best known algorithm for the MFLP is a approximation proposed by Li [7]. Also, there is an inapproximability result that states that there is no approximation algorithm for the MFLP with a ratio smaller than 1.463, unless NP DT IME[n O(log log n) ] [4]. This last result was strengthened by Sviridenko, who showed that the lower bound holds unless P = NP [10]. We consider instances (C, F, c, f) of the FLP such that a relaxed version of the triangle inequality is satisfied. We say that a cost function c is a squared metric, if, for all facilities i and i, and cities j and j, we have c ij c ij + c i j + c i j. The particular case of the FLP that only considers instances with a squared metric is called Squared Metric FLP, and is denoted by SMFLP. Notice that the SMFLP is a generalization of the MFLP. Thus any approximation for the SMFLP is also 1 The authors are collaborators in a conjoint work with Cristina C. G. Fernandes and Luís A.A. Meira.

82 81 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica an approximation for the MFLP, and the inapproximability results for the MFLP are also valid for the SMFLP. A 9-approximation of Jain and Vazirani [6, pp ] for the SMFLP has, to our knowledge, the best previously known approximation factor. The choice of squared metrics discourages excessive distances in the solution. This effect is important in several applications, such as k-means and classification problems. Although there are several algorithms for the MFLP in the literature, there are very few works on the SMFLP. Nevertheless, one may try to solve an instance of the SMFLP using good algorithms designed for the MFLP. Since these algorithms and their analysis are based on the assumption of the triangle inequality, it is reasonable to expect that they generate good solutions also for the SMFLP. However, there is no trivial way to derive an approximation factor from the MFLP to the SMFLP, so each algorithm must be reanalyzed individually. We analyzed three primal-dual algorithms (the and the 1.61-approximation algorithms of Jain et al. [5], and the 1.52-approximation of Mahdian, Ye and Zhang [8]), when applied to squared metric FLP instances. The analysis of Jain et al. and of Mahdian et al. uses a family of factor-reveling LPs parameterized by some k, so that, for a given k, the optimal value z k of the LP is a lower bound on the approximation factor. To obtain the approximation factor, one has to analytically bound sup k 1 z k. This is a nontrivial analysis, since it requires guessing a general suboptimal dual solution for the LP, usually inspired by numerically obtained dual LP solutions for small values of k. We have showed how to derive a new family of upper bound factor-revealing programs (UPFRP) parameterized by some t, so that, for any given t, the optimal value x t of one such program is an upper bound on sup k 1 z k. Obtaining an UPFRP and solving it using a computer is much simpler and more straightforward than using an analytical proof to obtain the approximation factor, since this does not include a guessing step and a manual verification of the feasibility of the solution. Additionally, as a property of the UPFRPs, we may tighten the obtained factor by solving the LP for larger values of t. Using this new factor-revealing technique, we have showed that these primaldual algorithms, when applied to the SMFLP, achieve factor of 2.87, 2.43 and 2.17, whereas their factors for the MFLP in the original analyses are 1.861, 1.61 and Also, we improved the factor of the first algorithm for the MFLP, from to 1.816, using our new technique. Additionally we analyzed the LP-rounding (and thus somewhat more inefficient) Chudak and Shmoys s algorithm [2] used in the 1.5- approximation of Byrka and Aardal [1], and showed that it is a 2.04 approximation for the SMFLP. This factor matches the lower bound for this problem, that was obtained by extending the 1.46 hardness result for the MFLP [4]. Our contribution is two-folded. First, we make an important step towards generalizing the squared Euclidean distance and successfully analyze this generalization in the context of FLP. Second, more importantly, we propose a new technique to systematically bound factor-revealing programs. This technique is used in the dual-

83 Resumos estendidos 82 fitting analysis of the primal-dual algorithms for both the SMFLP and the MFLP. We hope that these techniques can also be used in the analysis of other dual-fitting algorithms analyzed through factor-revealing LPs. A manuscript containing all these results is available [3]. References [1] J. Byrka and K. Aardal. An Optimal Bifactor Approximation Algorithm for the Metric Uncapacitated Facility Location Problem. SIAM Journal on Computing, 39: , [2] F. Chudak and D. Shmoys. Improved Approximation Algorithms for the Uncapacitated Facility Location Problem. SIAM Journal on Computing, 33(1):1 25, [3] C. Fernandes, L. Meira, F. Miyazawa, and L. Pedrosa. Squared Metric Facility Location Problem, Available in [4] S. Guha and S. Khuller. Greedy strikes back: Improved facility location algorithms. Journal of Algorithms, 31(1): , [5] K. Jain, M. Mahdian, E. Markakis, A. Saberi, and V. Vazirani. Greedy Facility Location Algorithms Analyzed Using Dual Fitting with Factor-Revealing LP. Journal of the ACM, 50(6): , [6] K. Jain and V. Vazirani. Approximation algorithms for metric facility location and k-median problems using the primal-dual schema and Lagrangian relaxation. Journal of the ACM, 48: , [7] S. Li. A Approximation Algorithm for the Uncapacitated Facility Location Problem. In Proc. 38th Inter. Conf. on Automata, Languages and Programming, pages 77 88, [8] M. Mahdian, Y. Ye, and J. Zhang. Approximation Algorithms for Metric Facility Location Problems. SIAM Journal on Computing, 36(2): , [9] D. Shmoys, E. Tardos, and K. Aardal. Approximation algorithms for facility location problems. In Proc. 29th Annual ACM Symp. on Theory of Computing, pages , [10] J. Vygen. Approximation algorithms for facility location problems (Lecture Notes). Technical Report OR, Research Institute for Discrete Mathematics, University of Bonn, 2005.

84 83 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Transaction Scheduling Using Dynamic Conflict Avoidance Daniel Nicácio, Alexandro Baldassin, and Guido Araújo Software Transaction Memory (STM) systems have been used as an approach to improve performance, by allowing the concurrent execution of atomic blocks. However, under high-contention workloads, STM-based systems can considerably degrade performance, as transaction conflict rate increases. Contention management policies have been used as a way to select which transaction to abort when a conflict occurs. In general, contention managers are not capable of avoiding conflicts, as they can only select which transaction to abort and the moment it should restart. Since contention managers act only after a conflict is detected, it becomes harder to effectively increase transaction throughput. More proactive approaches have emerged, aiming at predicting when a transaction is likely to abort, postponing its execution. Nevertheless, most of the proposed proactive techniques are limited, as they do not replace the doomed transaction by another or, when they do, they rely on the operating system for that, having little or no control on which transaction to run. This article proposes LUTS, a Lightweight User-Level Transaction Scheduler. Unlike other techniques, LUTS provides the means for selecting another transaction to run in parallel, thus improving system throughput. We discuss LUTS design and propose a dynamic conflict-avoidance heuristic built around its scheduling capabilities. Experimental results, conducted with the STAMP and STMBench7 benchmark suites, running on TinySTM and SwissTM, show how our conflict-avoidance heuristic can effectively improve STM performance on high contention applications.

85 Resumos estendidos 84 Um Oráculo para Teste de Robustez Baseado em Algoritmos de Alinhamento de Sequências Gizelle Sandrini Lemos 1 e Eliane Martins (Orientadora). Testes de robustez determinam se o comportamento do software é aceitável na presença de entradas invádas ou em condições estressantes [1]. Uma das técnicas mais empregadas para a realização de teste de robustez á a injeção de falhas [2]. Após a injeção de falhas no software em teste (SUT) é necessário utilizar um oráculo de teste para avaliar se o resultado é ou não aceitável em relação a uma referência do comportamento que o SUT deveria apresentar durante o teste. Porém, não existe um oráculo genérico que possa ser empregado na avaliação de resultados de todo tipo de teste; este problema é descrito como o Problema do Oráculo [3]. Mais complexo é o desenvolvimento de um oráculo para teste de robustez pois o comportamento do SUT diante de entradas inválidas não é, na maioria dos casos, descrito pela especificação. Assim, é difícil qualificar o que é um comportamento aceitável em situações inesperadas. As estratégias mais comuns de avaliação de resultados em testes de robustez são: Avaliação manual: o próprio testador faz o papel de oráculo e avalia, com base na especificação ou em outra documentação do SUT, se o comportamento durante os testes é aceitável. Este tipo de avaliação é lenta e sujeita a erros. Além disso, dependendo ta complexidade do SUT e do tamanho dos traços esta estratégia é praticamente inviável; Análise de golden run: a golden run é uma execução sem injeção de falhas utilizada como modelo de comportamento do SUT para um determinado caso de teste. O traço obtido a partir da golden run é comparado com o traço de execução obtido durante a execução do caso de teste com injeção de falhas e os dois traços são comparados. Qualquer diferença entre a golden run e o comportamento do SUT durante o teste é considerada como erro. Por este motivo, este tipo de análise á aplicável somente em sistemas determinísticos e, ainda assim, falsos positivos ocorrem pois a golden run, por ser colhida durante a execução do sistema sem injeção de falhas, não dispara nenhum mecanismo de tolerância à falhas. [4]. O objetivo deste trabalho é o desenvolvimento de uma abordagem, a ser utilizada como oráculo na avaliação de resultados de teste de robustez, que seja capaz de informar se o comportamento do SUT durante o teste é aceitável e que possa diferenciar a resposta robusta a uma falha injetada de comportamentos não robustos. Pretende-se com esta abordagem, melhorar a avaliação de resultados de teste de robustez. 1 Trabalho financiado pelo CNPq. Processo /

86 85 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica A abordagem proposta estende a análise de golden run e também compara dois traços de execução: golden run (τ A ) e traço resultante da injeção de falhas (τ B ). A diferença entre a abordagem proposta e a análise de golden run está no modo como é realizada a comparação: nossa solução utiliza o Algoritmo de Alinhamento Global de pares de sequências (AAG) para comparar (τ A ) e (τ B ). Este algoritmo é comumente aplicado em bioinformática para o alinhamento de sequências de DNA e proteínas [5] e é útil para a detecção da ocorrência de mutações, deleções e inserções de símbolos nas sequências (comuns em testes de robustez) [6]. Outro aspecto importante é que o AAG visualmente apresenta o alinhamento entre as sequências no qual é possível notar todos os pontos de similaridade e de discrepância entre elas. A Figura 1 ilustra os passos de execução do AAG. O algoritmo recebe como entradas, além das duas sequências, um sistema de pontuação que é comumente descrito numa matriz e que indica, para cada par de símbolos que compõem as sequências, qual é o grau de relacionamento entre eles. Assim, o algoritmo monta a matriz de similaridades M(m n) onde m e n são os tamanhos das sequencias de entrada, com as pontuações para as combinações de alinhamentos. Por fim, percorrendo a matriz inversamente a partir da posição M[m 1, n 1] até a posição M[0, 0], o algoritmo recupera o alinhamento ótimo, que possui a maior pontuação dentre os alinhamentos da matriz. Figura 1: Passos de execução do algoritmo de alinhamento global de sequências A Figura 2 mostra a visão geral da abordagem proposta. Ela é usada no contexto da avaliação de resultados de teste de robustez para um conjunto de casos de teste Ct = Ct 1,..., Ct k. As etapas da abordagem são as seguintes: 1. São obtidos os traços de execução que representam os modelos de comportamento do sistema para cada um dos casos de teste em C. Os traços-modelo (golden runs) formam um conjunto GR = GR 1,..., GR k. Não são injetadas falhas no sistema nesta etapa. 2. São obtidos os traços de execução a partir da injeção de falhas (de um conjunto de falhas F = F 1,..., F l ) durante a execução de cada um dos casos de teste em C. Os traços de execução formam um conjunto τ = τ 11,..., τ kl. 3. Os traços são filtrados, para que permaneçam apenas as inofrmações relevantesa ao teste de robustez e, em seguida, são codificados segundo a Função de Codificação C : Σ N. A codificação é necessária para permitir a visualização do alinhamento.

87 Resumos estendidos O sistema de pontuação(ω) é criado. Sendo Σ = s 1,...s t o alfabeto dos símbolos que representam os eventos do sistema em teste, o sistema de pontuação determina os valores ω(s i, s j ) = v para 1 i, j t. Na bioinformática, as pontuações são baseadas nos histórico de substituições entre genes (ou proteínas). Porém, no teste de robustez não há informações históricas sobre a evolução dos eventos. Assim, parte da pesquisa concentrou-se na criação de um método para definir o sistema de pontuação mais adequado ao alinhamento deste tipo de sequências. Comparamos o sistema de pontuação criado (chamado Sistema de Pontuação Variável VSS) com o sistema de pontuação mais simples utilizado comumente em bioinformática (chamado Sistema de Pontuação Fixo FSS). A descrição completa dos sistemas FSS e VSS e sua aplicação num estudo de caso estão em [7]. 5. O algoritmo realiza o alinhamento das sequências: golden run GR i e traço τ ij. Para cada par de sequências (x, y) com x GR e y τ é obtido o alinhamento ótimo (com maior pontuação possível de acordo com o sistema de pontuação(ω)) e, ainda, o valor da Métrica de Similaridade (SM ωij ). SM ωij é a proporção entre a pontuação do alinhamento ótimo e a máxima pontuação possível (se GR i = τ ij ). Figura 2: Visão geral da abordagem proposta Realizamos estudos de caso nos quais foram avaliados os resultados de testes de robustez em quatro diferentes sistemas. Conseguimos verificar que a abordagem proposta é adequada para o alinhamento dos traços de execução codificados permitindo a visualização dos pontos similares e diferentes entre as sequências pelo testador. A métrica de similaridade criada (SM ωij ) possilitou a classificação dos traços em relação à golden run. Este valor, quando comparado a um limiar (que define qual o valor mínimo necessário para um traço ser considerado robusto), permite que cada traço τ ij seja classificado como robusto (ou não). Mais detalhes em [7].

88 87 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica A metodologia de trabalho abrange o estudo de áreas de interesse na engenharia de software, mais especifficamente, os oráculos de teste. Também foram estudados algoritmos de alinhamento de sequências para o mecanismo de busca da abordagem proposta. A validação dos algoritmos e a anáise dos resultados da aplicação da abordagem tem sido feitos através de estudos de caso. Além disso, definimos a métrica (Similaridade do Alinhamento), a partir da qual é possível obter resultados quantitativos em termos da fequência de falsos positivos e falsos negativos obtidos pela abordagem proposta. O estudo dos resultados da métrica permitirá a avaliação da abrangência do oráculo durante os experimentos. Desenvolvemos uma abordagem para avaliação de resultados de testes de robustez que tem como objetivo preencher uma lacuna existente na análise deste tipo de resultado. As soluções existentes, por trabalharem com algoritmos de matching exatos não são capazes de identificar corretamente desvios causados, por exemplo, pela atuação de mecanismos de tolerância a falhas presentes no SUT, resultando em grande número de falsos-positivos. Assim, o uso do algoritmo de alinhamento global, comumente aplicado em bioinformática para a detecção de mutação, inserção e deleção de símbolos é uma opção mais adequada pois, por se tratar de matching inexato, permite pequenos desvios entre a sequência modelo (golden run) e a sequência obtida durante o teste de robustez por injeção de falhas. Referências [1] R. Castanet, and H. Waeselynck. Techniques avancées de test de systèmes complexes : Test de robustesse. Rapport, Action spécifique 23 du CNRS [2] D. Avresky, J. Arlat, J.C. Laprie, and Y. Crouzet. Fault Injection for the Formal Testing of Fault Tolerance. Proceedings of 22nd International Symposium on Fault-Tolerant Computing. Boston, MA, pp [3] W.E. Howden. Theoretical and Empirical Studies of Program Testing. 3rd Int. Conf. on Software Engineering [4] P. Pelliccione, H. Muccini, N. Guelfi, and A. Romanovsky. Software Engineering of Fault Tolerant Systems. Series on Software Engineering and Knowledge Engineering - Vol [5] K. Chao and L. Zhang. Seq. Comparison: Theory and Methods. Springer, [6] S.B. Needleman, and C.D. Wunch. A general method applicable to the search for similarities in the amino acid sequence of two proteins. Journal of Molecular Biology. Vol. 48, Issue 3, Pages [7] G.S. Lemos, and E. Martins. Specification-guided Golden Run for Analysis of Robustness Testing Results. The Sixth International Conference on Software Security and Reliability

89 2. Resumo dos pôsteres A vida sem ciência é uma espécie de morte. Sócrates

90 89 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Adaptação de Workflows Sensível ao Contexto para Atividades de Enfermagem Bruno S. C. M. Vilar, Claudia M. B. Medeiros e André Santanchè Instituições de saúde lidam com o gerenciamento e coordenação de profissionais de saúde, pacientes e recursos. No Brasil, ferramentas computacionais que suportam essas atividades ainda são incipientes. Faltam formas automatizadas de tratar e monitorar o fluxo de exames, procedimentos de enfermagem e recursos. Laboratórios de pesquisa têm características comuns com instituições de saúde, como a necessidade de gerenciar e coordenar cientistas de diferentes áreas de especialidade e recursos usados em experimentos. Em tais ambientes, workflows científicos são usados para gerenciar atividades de pesquisa, além de especificar e executar experimentos. Tais workflows são desenvolvidos de forma cooperativa, em um ambiente multidisciplinar e com recursos distribuídos. Para superar a falta de ferramentas para o auxilio às atividades de enfermagem, propõe-se o uso de workflows científicos. Ferramentas de workflows têm sido adotadas em hospitais [Riaño et al. 2012], mas como ambientes de workflow padrão. Entretanto, como atividades de enfermagem envolvem um cenário mais dinâmico, no qual enfermeiros têm que interagir com ferramentas para registrar informações de pacientes, intervenções e resultados esperados, existe a necessidade de um gerenciamento flexível de workflows. Ainda que ambientes de workflows suportem a adaptação, eles não são sensíveis ao contexto. Contexto é qualquer informação que possa ser usada para caracterizar a situação de uma entidade. [Dey 2000] Este trabalho considera dois tipos de personalização de workflows: I) Manter o mesmo workflow, mas alterar as condições de execução, como os valores dos parâmetros ou o código invocado; II) Modificar a especificação do workflow, por exemplo, adicionar/remover atividades. As contribuções serão: I) A especificação de um ambiente que auxilie enfermeiros em suas atividades, evidenciando informações importantes e organizando tarefas relevantes à situação; II) Definição de contexto, sua parametrização e uso para especificar um mecanismo para adaptar workflows. Agradecimentos: trabalho parcialmente financiado por FAPESP, CAPES, CNPq e INCT em Web Science (CNPq /2009-9). Referências [Dey 2000] Dey, A. K. (2000). Providing architectural support for building contextaware applications. PhD thesis, Georgia Tech, Atlanta, GA, USA. AAI [Riaño et al. 2012] Riaño, D., Real, F., López-Vallverdú, J. A., Campana, F., Ercolani, S., Mecocci, P., Annicchiarico, R., and Caltagirone, C. (2012). An ontology-based personalization of health-care knowledge to support clinical decisions for chronically ill patients. Journal of biomedical informatics.

91 Resumo dos pôsteres 90 Interfaces Autoajustáveis em Websites: Contribuições em Direção ao Design para Todos Vagner Figueredo de Santana and Maria Cecília Calani Baranauskas Devido ao rápido crescimento da Web nas últimas décadas e à interatividade proporcionada pela Web 2.0, serviços de governo, entretenimento e educação são, cada vez mais, disponibilizados na Internet. No entanto, parte significativa dos esforços que seguem esse crescimento não considera as diferenças existentes em toda a população de usuários. Nas etapas iniciais de um sistema computacional é possível identificar diversas tarefas e formas de utilização de interfaces de usuário (IUs), mas questões relativas às limitações funcionais dos usuários podem surgir em diversos contextos de uso não previstos em etapas anteriores à utilização real. Neste contexto, IUs ajustáveis representam uma forma promissora de promover o Design para Todos e possibilitar que necessidades surgidas em diversos contextos de uso sejam consideradas não apenas em etapas de análise, projeto e implementação, mas também no uso. Assim, a tese visa propor uma solução que utiliza logs de eventos disparados no lado do cliente para identificar padrões de uso e ajustar a IU conforme esses padrões. A pergunta de pesquisa estudada é: avaliação contínua proposta torna IU mais adequada aos usuários? A tese reutiliza resultados da dissertação de mestrado desenvolvida pelo mesmo autor. A dissertação resultou em uma heurística para apontar incidentes de uso e uma ferramenta de avaliação chamada WELFIT (Web Event Logger and Flow Identification Tool) [4]. O WELFIT está sendo estendido para prover a função de ajuste considerando Tailoring de nível 3 [3]. A tese também segue os seguintes referenciais: Semiótica Organizacional [10], técnicas de Web Usage Mining [1, 2] e desenho de experimento [11]. Os resultados preliminares estão apresentados nos seguintes trabalhos que comporão a tese: 1) artigo completo publicado que conta com a revisão dos requisitos de ferramentas de avaliação [6]; 2) artigo submetido à revista científica apresentando os avanços obtidos nos dois primeiros anos do projeto de tese; 3) short paper aceito em congresso que detalha design e avaliação dos signos utilizados nos relatórios gerados pelo WELFIT [9]. Complementarmente, a tese contará com os seguintes apêndices: I) artigo completo publicado que consolida ideias propostas para sumarizar dados observacionais coletados no lado do cliente [5]; II) artigo completo publicado que discute questões relativas à segurança na troca de dados entre websites [7]; III) artigo completo publicado que apresenta levantamento de diretrizes e técnicas envolvendo o uso da Web por pessoas com dislexia [8]. Por fim, espera-se contribuir para a sistematização de avaliação de IU, possibilitando o ajuste automático de websites a partir de logs de eventos, considerando diferenças e contribuindo para que a Web se torne um local mais usável por todos, indiscriminadamente.

92 91 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Referências [1] J. Ghosh. Scalable Clustering. In Handbook of Data Mining. Lawrence Erlbaum Associates, [2] B. Hay, G. Wets, and K. Vanhoof. Mining navigation patterns using a sequence alignment method. In Knowledge and Information Systems, 6(2): , [3] A. Morch. Three Levels of End-User Tailoring: Customization, Integration, and Extension. In 3rd Decennial Aarhus Conference, Aarhus, Denmark, [4] V. F. de Santana. Identificação de Padrões de Utilização da Web Mediada por Tecnologias Assistivas. Dissertação de Mestrado. Orientação: Prof a M. C. C. Baranauskas. Instituto de Computação, UNICAMP, [5] V. F. de Santana and M. C. C. Baranauskas. Summarizing Observational Clientside Data to Reveal Web Usage Patterns. In Proceedings of the 25th ACM Symposium on Applied Computing, vol. 2, , [6] V. F. de Santana and M. C. C. Baranauskas. Bringing users of a digital divide context to website evaluation using WELFIT. In IX Simpósio de Fatores Humanos em Sistemas Computacionais (IHC 2010), [7] V. F. de Santana, M. C. C. Baranauskas, and M. A. A. Henriques. A Framework for Web 2.0 Secure Widgets. In Proceedings of IADIS International Conference WWW/Internet 2011, [8] V. F. de Santana, R. de Oliveira, L. D. A. Almeida, M. C. C. Baranauskas. Web Accessibility And People With Dyslexia: A Survey On Techniques And Guidelines. In 9th International Cross-Disciplinary Conference on Web Accessibility, [9] V. F. de Santana and M. C. C. Baranauskas. Visualizing User Interface Events: Event Stream Summarization through Signs In Proceedings of 14th International Conference on Enterprise Information Systems, [10] R. K. Stamper. A Semiotic Theory of Information and Information Systems/Applied Semiotics. In Invited papers for the ICL/University of Newcastle Seminar on Information, [11] J. Wainer. Métodos de pesquisa quantitativa e qualitativa para a Ciência da Computação. In Jornadas de Atualização em Informática (JAI), 2007.

93 Resumo dos pôsteres 92 MediaBox Flávia de Oliveira Santos e Guido Araújo SoCs estão cada vez mais presentes em nosso cotidiano. Devido ao aumento do número de IP-cores em um SoC e da complexidade da tecnologia de interconexão entre eles, descrições de um sistema completo em RTL são difíceis de se desenvolver e alterar. A adoção de técnicas tal como a modelagem em nível de sistema, também chamada de ESL (Electronic System Level design), provê recursos que permitem incorporar aspectos do hardware em descrições com alto nível de abstração. Por ser descrito em software, o modelo permite simulações mais rápidas e capazes de fornecer informações que podem auxiliar na descoberta de erros. Este projeto visa prover uma infraestrutura que forneça recursos suficientes para permitir a exploração e verificação em nível de sistema. Essa infraestrutura consiste em uma plataforma de simulação ESL chamada MediaBox. A MediaBox servirá como base tanto para auxiliar a validação de técnicas de depuração de plataformas como também para estudar problemas relacionados a fluxo de dados em plataformas ESL. De posse de uma plataforma suficientemente complexa e que fornece recursos para variados tipos de simulações, os desenvolvedores poderão exercitar diferentes aspectos e testes em seu código no contexto de um SoC. A plataforma MediaBox é composta de IPs interconectados por uma NoC 3x3. Os IPs e suas respectivas funções são: dois processadores PowerPC que executam os softwares da plataforma; duas memórias que armazenam dados da plataforma; decodificador MP3 que decodifica frames no formato mp3 em dados de áudio PCM; decodificador MPEG4: decodifica vídeos no formato AVI em frames no formato PPM; player de áudio: toca e armazena os dados de áudio PCM; player de vídeo: exibe e armazena os frames PPM; USB que armazena os dados originais de áudio e vídeo. Basicamente, o funcionamento da plataforma corresponde a execução das seguintes tarefas: 1) os processadores solicitam a transferência de dados de áudio/vídeo do USB, realizam o pré-processamento desses dados e os enviam para os respectivos decodificadores; 2) os decodificadores realizam o processamento dos dados e os enviam para os players de áudio/vídeo; 3) as duas tarefas anteriores se repetem até que todos os dados tenham sido decodificados; 4) ao fim da decodificação os Players armazenam e tocam/exibem os resultados. Inicialmente a construção da plataforma foi dividida em duas partes: áudio e vídeo. Durante os testes iniciais da parte do áudio observou-se a necessidade de recursos até então não disponíveis na MediaBox. Com base nisso, foi desenvolvida uma nova infraestrutura que foi agregada a NoC para dar suporte aos nove IPs bem como a comunicação e sincronização entre eles. A implementação do fluxo de áudio foi finalizada com sucesso e encontra-se em funcionamento. Atualmente os IPs do fluxo de vídeo bem como o software do decodificador MPEG4 são os focos do desenvolvimento.

94 93 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Rede de Autoridades e Apoio às Interações Sociais na Web: Uma Abordagem Culturalmente Informada Roberto Pereira (FAPESP 2009/ ) e M. Cecília C. Baranauskas Toda tecnologia causa impactos nas pessoas e no ambiente em que ela é introduzida. Aspectos culturais, como valores, crenças, e padrões de comportamento, influenciam o modo como uma tecnologia é entendida e utilizada. Aplicações de redes sociais, por exemplo, têm sido utilizadas para diversos propósitos e por meio de diferentes dispositivos. Entretanto, impactos causados em valores como privacidade, reputação, segurança e autonomia são comumente relatados. Esta tese de doutorado propõe o envolvimento de valores e aspectos culturais de forma explícita no design de aplicações sociais, de modo a se projetar soluções que façam sentido aos seus usuários e que não desencadeiem impactos negativos no contexto social em que serão inseridas. O trabalho envolve: i) a criação de uma abordagem para apoiar o design e avaliação de aplicações sociais sob a ótica de valores e cultura, e ii) a utilização da abordagem no contexto prático de construção de uma Rede Social Inclusiva. Denominada VCIA (Value-Oriented and Culturally Informed Approach), a abordagem tem como bases teórico-metodológicas a Semiótica Organizacional [3], Socially Aware Computing [1], e os Blocos Básicos da Cultura [2]. Cinco artefatos foram criados/adaptados para integrar a abordagem. Por exemplo: o artefato Value Identification Frame foi criado para apoiar a identificação de valores das partes interessadas envolvidas em um projeto; o Culturally Aware Requirements Framework para apoiar a organização de requisitos; e o artefato evalue foi para apoiar a avaliação de protótipos/aplicações sob a perspectiva de valores e cultura. A Rede Social Inclusiva está situada no contexto do projeto Proesp/CAPES Redes Sociais e Autonomia Profissional e vem sendo construída de forma participativa com um grupo de 28 professoras do Atendimento Educacional Especializado, pesquisadores da Ciência da Computação e da Educação. O primeiro incremento da rede já está disponível e sendo utilizado pelo grupo de professoras e por pesquisadores. Referências [1] M.C.C. Baranauskas. Socially Aware Computing. in Proceedings of the VI International Conference on Engineering and Computer Education Buenos Aires, pp [2] E.T. Hall. The Silent Language Anchor Books [3] K. Liu. Semiotics in Information Systems Engineering Cambridge, University Press

95 Resumo dos pôsteres 94 Seleção de código elegível para Conservation Cores Tiago Falcão, Rodolfo Azevedo Com a falha da projeção de Dennard e continuidade da Lei de Moore, os estudos avançam para pesquisas em processadores com centenas ou milhares de cores. Nem as arquiteturas de CPU ou GPU, em diversas topologias atuais, demonstram ser capazes de alcançar os ganhos de desempenho esperados para as novas gerações de transistores, pelas suas eficiências frente às limitações energéticas. O aumento na quantidade de cores não se converte diretamente em desempenho pela grande dificuldade da extração e exploração do paralelismo das aplicações. Além disso, a influência dos trechos sequenciais, que limitam a escalabilidade dos ganhos, conforme a lei de Amdahl. Com a redução dos transistores, foi possível a inclusão de mais componentes em um mesmo chip. Hoje, muitos componentes são integrados no mesmo pedaço de silício, sejam componentes diferenciados como processador de rádio 3G/4G ou implementações em hardware de componentes de software como decodificadores x264. Na busca por um consumo energético mais eficiente do processador, estudos aplicam técnicas de conversão de software em hardware alcançando 29.86x melhor eficiência energética com aumento de velocidade. Para tanto, são selecionadas regiões de código com maior consumo de energia para conversão a hardware, que pode ser projetado para suportar ou não futuras pequenas modificações, a depender da maturidade do código e da projeção de tempo de vida útil para o hardware alvo. A seleção de blocos de código elegíveis para conservation cores necessita iniciar com a avaliação da estabilidade de cada bloco na evolução do software, pela característica de baixa flexibilidade do hardware. Seguido com o calculo do consumo, eficiência e representatividade energética. Se selecionado, o bloco deve ser convertido para uma especificação de hardware. Que terá suas características energéticas e de desempenho avaliadas e julgadas para determinar a viabilidade de inclusão dessa especificação como conservation core de um processador final. Referências [1] Hadi Esmaeilzadeh, Emily Blem, Renee St. Amant, Karthikeyan Sankaralingam, and Doug Burger. Dark silicon and the end of multicore scaling. SI- GARCH Comput. Archit. News, 39(3): , June [2] Rehan Hameed, Wajahat Qadeer, Megan Wachs, Omid Azizi, Alex Solomatnikov, Benjamin C. Lee, Stephen Richardson, Christos Kozyrakis, and Mark Horowitz. Understanding sources of inefficiency in general-purpose chips. In Proceedings of the 37th annual international symposium on Computer architecture, ISCA 10, pages 37 47, New York, NY, USA, ACM.

96 95 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Suporte em hardware para execução especulativa de software Raoni Fassina Firmino, Edson Borin, Rodolfo Azevedo Podemos definir execução especulativa como qualquer característica ou mecanismo intencional do hardware, do compilador ou mesmo do próprio software que possivelmente viola a execução correta do programa, juntamente com o mecanismo para correção do estado de execução correto do programa, caso essa violação ocorra. Exemplos clássicos de execução especulativa incluem predição de desvio, execução fora de ordem e predição de dados. Focamos nossos esforços em hardware com suporte à execução especulativa para expor ao compilador primitivas que possam auxiliar no processo de compilação e utilização agressivas. Um exemplo de tais otimizações em tradução dinâmica de binários é aplicar a técnica de cold path elimination, juntando uma sequencia de blocos básicos em um grande bloco básico e transformar os saltos para fora do hot path em asserts que iniciam o rollback da região e após re-aplicar técnicas clássicas de otimizações que antes eram limitadas pelo hot path não contínuo. Tal abordagem já foi demostrada promissora como visto nos trabalhos de Neelakantam[1]. Nossos testes preliminares, analisando o modelo de cache proposto por Rozas et al.[2] para o processador Crusoe, mostram que para um sistema de cache especulativa formada por uma cache de dados L1 típica (64KB 8-way) ligada a uma victim cache de 32 entradas 90% da execução dos programas testados compreendem regiões atômicas com mais de operações de memória. O que abre espaço para tirar maior proveito de técnicas de otimização como as utilizadas por Neelakantam. No futuro dessa pesquisa, esperamos definir uma microarquitetura simples, eficiente e com capacidade para prover regiões atômicas com mais de instruções de memória dinâmica. Para esse fim, as pesquisas atuais mostram que o uso de cache especulativa é a melhor opção para regiões grandes, mantendo-se a eficiência de operações de checkpoint, commit e rollback. Com tal arquitetura, podemos ampliar a margem de otimizações realizadas pelo compilador, explorando o tamanho de regiões atômicas com milhares de instruções e prover técnicas para melhor formação de regiões atômicas minimizando a probabilidade de rollbacks. Referências [1] Naveen Neelakantam, David R. Ditzel, and Craig Zilles. A real system evaluation of hardware atomicity for software speculation. In Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems, ASPLOS 10, pages 29 38, New York, NY, USA, ACM. [2] Guillermo Rozas, Alexander Klaiber, David Dunn, Paul Serris, and Lacky Shah. Supporting speculative modification in a data cache. US patent 7,225,299 B1, may 2007.

97 3. Programação do WTD A chave de todas as ciências é inegavelmente o ponto de interrogação. Honoré de Balzac

98 97 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Neste capítulo, apresentamos a programação do VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica (wtd) do Instituto de Computação (ic) da UNICAMP. A sétima edição do wtd teve em sua abertura a palestra intitulada Tecnologia da Informação - Panorama e perspectiva no Brasil com o professor Virgílio de Almeida (mct e ufmg) que contou com 50 participantes presenciais mais 13 ouvintes pela web. O professor Jorge Stolfi (unicamp) ministrou o minicurso Fundamentos de estatística para computação que contou com a presença de 70 participantes mais 20 ouvintes pela web. As apresentações dos trabalhos foram divididas em três salas: uma destinada aos pôsteres (tabela 3.1) e duas destinadas às apresentações dos trabalhos (tabelas 3.2 e 3.3); e foram avaliadas por diversos professores e alunos do instituto. O vii wtd contou com aproximadamente 150 pessoas envolvidas, 28 apresentações orais e 10 apresentações em formato de pôster. Foi contabilizado 93 ouvintes inscritos mais 15 pessoas participantes do comitê de organização. A figura 3.1 mostra a distribuição dos trabalhos por área de pesquisa. Houveram 60% de trabalhos da área sistemas de de informação, 29%, de sistemas de computação, 8%, de teoria de computação e 3%, de sistemas de programação. Desses trabalhos, 61% dos trabalhos apresentados eram de alunos do doutorado e 39%, de alunos do mestrado. A figura 3.2 apresenta uma tagcloud com as palavras chaves utilizadas nos trabalhos. Tabela 3.1: Programação da sala de pôsteres

99 Programação do WTD 98 Tabela 3.2: Programação da sala 351

100 99 VII Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Tabela 3.3: Programação da sala 316

101 Programação do WTD 100 Figura 3.1: Distribuição das áreas de pesquisa dos trabalhos apresentados Figura 3.2: Tagcloud com as palavras chaves

Tese / Thesis Work Análise de desempenho de sistemas distribuídos de grande porte na plataforma Java

Tese / Thesis Work Análise de desempenho de sistemas distribuídos de grande porte na plataforma Java Licenciatura em Engenharia Informática Degree in Computer Science Engineering Análise de desempenho de sistemas distribuídos de grande porte na plataforma Java Performance analysis of large distributed

Leia mais

STUDY ABOUT INFLUENCE ON ACADEMIC PERFORMANCE OF STUDENTS USERS OF SOCIAL NETWORKS

STUDY ABOUT INFLUENCE ON ACADEMIC PERFORMANCE OF STUDENTS USERS OF SOCIAL NETWORKS STUDY ABOUT INFLUENCE ON ACADEMIC PERFORMANCE OF STUDENTS USERS OF SOCIAL NETWORKS Elton Rabelo (Instituto de Ensino Superior e Pesquisa INESP, MG, Brasil) - eltonneolandia@yahoo.com.br Thiago Magela Rodrigues

Leia mais

Tabela de roteamento

Tabela de roteamento Existem duas atividades que são básicas a um roteador. São elas: A determinação das melhores rotas Determinar a melhor rota é definir por qual enlace uma determinada mensagem deve ser enviada para chegar

Leia mais

Interoperability through Web Services: Evaluating OGC Standards in Client Development for Spatial Data Infrastructures

Interoperability through Web Services: Evaluating OGC Standards in Client Development for Spatial Data Infrastructures GeoInfo - 2006 Interoperability through Web Services: Evaluating OGC Standards in Client Development for Spatial Data Infrastructures Leonardo Lacerda Alves Clodoveu A. Davis Jr. Information Systems Lab

Leia mais

Dinâmicas de Acesso ao Espectro

Dinâmicas de Acesso ao Espectro Redes Cognitivas com Oportunidades Dinâmicas de Acesso ao Espectro Defesa de Tese Marcel William Rocha da Silva Orientador: José Ferreira de Rezende Roteiro Introdução e motivação Rádios cognitivos Oportunidades

Leia mais

A Cloud Computing Architecture for Large Scale Video Data Processing

A Cloud Computing Architecture for Large Scale Video Data Processing Marcello de Lima Azambuja A Cloud Computing Architecture for Large Scale Video Data Processing Dissertação de Mestrado Dissertation presented to the Postgraduate Program in Informatics of the Departamento

Leia mais

Estudo comparativo entre dois tradicionais algoritmos de roteamento: vetor distância e estado de enlace.

Estudo comparativo entre dois tradicionais algoritmos de roteamento: vetor distância e estado de enlace. Estudo comparativo entre dois tradicionais algoritmos de roteamento: vetor distância e estado de enlace. Ederson Luis Posselt 1, Geovane Griesang 1 1 Instituto de Informática Universidade de Santa Cruz

Leia mais

Online Collaborative Learning Design

Online Collaborative Learning Design "Online Collaborative Learning Design" Course to be offered by Charlotte N. Lani Gunawardena, Ph.D. Regents Professor University of New Mexico, Albuquerque, New Mexico, USA July 7- August 14, 2014 Course

Leia mais

Introduction to Network Design and Planning

Introduction to Network Design and Planning Introduction to Network Design and Planning Joao.Neves@fe.up.pt 1 In the Beginning... The project of a Network was the result of the inspiration of a guru or an "artist" (after all was considered an art...)

Leia mais

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores

Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores Autor: Daniel Vieira de Souza 1, Orientador: Luís Fernando Faina 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br CENTRO UNIVERSITÁRIO DE VOLTA REDONDA UniFOA Curso Tecnológico de Redes de Computadores Disciplina: Redes Convergentes II Professor: José Maurício S. Pinheiro

Leia mais

UMA ABORDAGEM PARA GESTÃO DE CONTEÚDOS EDUCACIONAIS

UMA ABORDAGEM PARA GESTÃO DE CONTEÚDOS EDUCACIONAIS UMA ABORDAGEM PARA GESTÃO DE CONTEÚDOS EDUCACIONAIS RESUMO: - PALAVRAS-CHAVES: ABSTRACT: The use of the Web as a platform for distance education (e-learning) has been one of the great alternatives for

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

Leia mais

PC 7 - GESTÃO DO CONHECIMENTO, COMUNICAÇÃO E CAPACITAÇÃO. Natália Martins Alexandre Caetano Marta Martins Wagner Arbex

PC 7 - GESTÃO DO CONHECIMENTO, COMUNICAÇÃO E CAPACITAÇÃO. Natália Martins Alexandre Caetano Marta Martins Wagner Arbex PC 7 - GESTÃO DO CONHECIMENTO, COMUNICAÇÃO E CAPACITAÇÃO Natália Martins Alexandre Caetano Marta Martins Wagner Arbex MOTIVAÇÃO A GESTÃO DO CONHECIMENTO (GC) É UM ASPECTO FUNDAMENTAL E ESTRATÉGIO PARA

Leia mais

Gerenciamento e Interoperabilidade de Redes

Gerenciamento e Interoperabilidade de Redes EN-3610 Gerenciamento e Interoperabilidade de Redes Aula 01 Introdução Prof. João Henrique Kleinschmidt Santo André, julho de 2013 Roteiro PARTE I Apresentação da Disciplina Apresentação do Professor Metodologia

Leia mais

Aula 01 Introdução ao Gerenciamento de Redes

Aula 01 Introdução ao Gerenciamento de Redes Aula 01 Introdução ao Gerenciamento de Redes Leonardo Lemes Fagundes leonardo@exatas.unisinos.br São Leopoldo, 15 de outubro de 2004 Roteiro Apresentação da disciplina Objetivos Conteúdo programático Metodologia

Leia mais

Estereoscopia Digital no Ensino da Química AGRADECIMENTOS

Estereoscopia Digital no Ensino da Química AGRADECIMENTOS AGRADECIMENTOS O findar desta dissertação é o momento indicado para agradecer ao Professor Doutor João Carlos de Matos Paiva pela sua grande ajuda, pela disponibilidade sempre manifestada, pelo seu empenho

Leia mais

Cigré/Brasil. CE B5 Proteção e Automação. Seminário Interno de Preparação para o Colóquio do SC B5 2009

Cigré/Brasil. CE B5 Proteção e Automação. Seminário Interno de Preparação para o Colóquio do SC B5 2009 Cigré/Brasil CE B5 Proteção e Automação Seminário Interno de Preparação para o Colóquio do SC B5 2009 Rio de Janeiro, 15-16 de setembro de 2009 Dados do Artigo Número: PS1 107 Título: Client Conformance

Leia mais

25/05/2015. Um pouco de história. O Modelo CMMI. Capability Maturity Model Integration (CMMI) Capability Maturity Model (CMM)

25/05/2015. Um pouco de história. O Modelo CMMI. Capability Maturity Model Integration (CMMI) Capability Maturity Model (CMM) DCC / ICEx / UFMG Um pouco de história O Modelo CMMI Na década de 80, o Instituto de Engenharia de Software (SEI) foi criado Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Objetivos Fornecer software

Leia mais

Roteamento em Redes de Computadores

Roteamento em Redes de Computadores Roteamento em Redes de Computadores José Marcos Câmara Brito INATEL - Instituto Nacional de Telecomunicações INATEL - Instituto Nacional de Telecomunicações 01/08/00 1 Introdução Objetivo Tipos de rede

Leia mais

Software reliability analysis by considering fault dependency and debugging time lag Autores

Software reliability analysis by considering fault dependency and debugging time lag Autores Campos extraídos diretamente Título Software reliability analysis by considering fault dependency and debugging time lag Autores Huang, Chin-Yu and Lin, Chu-Ti Ano de publicação 2006 Fonte de publicação

Leia mais

Prof. Samuel Henrique Bucke Brito

Prof. Samuel Henrique Bucke Brito - Roteamento www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito Roteamento Roteamento é a técnica que define por meio de um conjunto de regras como os dados originados em

Leia mais

Rafael Jessen Werneck de Almeida Martins. Recomendação de pessoas em redes sociais com base em conexões entre usuários

Rafael Jessen Werneck de Almeida Martins. Recomendação de pessoas em redes sociais com base em conexões entre usuários Rafael Jessen Werneck de Almeida Martins Recomendação de pessoas em redes sociais com base em conexões entre usuários Dissertação de Mestrado Dissertação apresentada como requisito parcial para a obtenção

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Transformação de um Modelo de Empresa em Requisitos de Software

Transformação de um Modelo de Empresa em Requisitos de Software Transformação de um Modelo de Empresa em Requisitos de Software Fábio Levy Siqueira 1 and Paulo Sérgio Muniz Silva 2 1 Programa de Educação Continuada da Poli-USP, São Paulo, Brazil 2 Escola Politécnica

Leia mais

Ferramentas para Simulação e Avaliação de Processadores. de Alto Desempenho

Ferramentas para Simulação e Avaliação de Processadores. de Alto Desempenho Ferramentas para Simulação e Avaliação de Processadores de Alto Desempenho 5 de agosto de 2010 Resumo 1 Apresentação e Justificativa A tarefa de avaliar e comparar experimentalmente projetos em torno de

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

SIMULAÇÃO DE SECAGEM DE MILHO E ARROZ EM BAIXAS TEMPERATURAS

SIMULAÇÃO DE SECAGEM DE MILHO E ARROZ EM BAIXAS TEMPERATURAS SIMULAÇÃO DE SECAGEM DE MILHO E ARROZ EM BAIXAS TEMPERATURAS DOMINGOS SÁRVIO MAGALHÃES VALENTE 1 CRISTIANO MÁRCIO ALVES DE SOUZA 2 DANIEL MARÇAL DE QUEIROZ 3 RESUMO - Um programa computacional para simular

Leia mais

Sistema de Visão Computacional sobre Processadores com Arquitetura Multi Núcleos

Sistema de Visão Computacional sobre Processadores com Arquitetura Multi Núcleos Roberto Kenji Hiramatsu Sistema de Visão Computacional sobre Processadores com Arquitetura Multi Núcleos Tese apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do Título de Doutor

Leia mais

Descoberta de Domínio Conceitual de Páginas Web

Descoberta de Domínio Conceitual de Páginas Web paper:25 Descoberta de Domínio Conceitual de Páginas Web Aluno: Gleidson Antônio Cardoso da Silva gleidson.silva@posgrad.ufsc.br Orientadora: Carina Friedrich Dorneles dorneles@inf.ufsc.br Nível: Mestrado

Leia mais

75, 8.º DTO 1250-068 LISBOA

75, 8.º DTO 1250-068 LISBOA EAbrief: Medida de incentivo ao emprego mediante o reembolso da taxa social única EAbrief: Employment incentive measure through the unique social rate reimbursement Portaria n.º 229/2012, de 03 de Agosto

Leia mais

Controle de congestionamento em TCP

Controle de congestionamento em TCP Controle de congestionamento em TCP Uma das funções principais do TCP é gerenciar o fluxo de mensagens entre origem e destino, adaptando a taxa de transmissão da origem à taxa de recepção no destino de

Leia mais

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB 18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB Autor(es) HARLEI MIGUEL DE ARRUDA LEITE Orientador(es) PLÍNIO ROBERTO SOUZA VILELA Apoio Financeiro PIBIC/CNPQ

Leia mais

Luiz Fernando Fernandes de Albuquerque. Avaliação de algoritmos online para seleção de links patrocinados. Dissertação de Mestrado

Luiz Fernando Fernandes de Albuquerque. Avaliação de algoritmos online para seleção de links patrocinados. Dissertação de Mestrado Luiz Fernando Fernandes de Albuquerque Avaliação de algoritmos online para seleção de links patrocinados Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de

Leia mais

Desempenho de Web Servers

Desempenho de Web Servers Desempenho de Web Servers Web Servers no Modo Kernel X Web Servers no Modo Usuário Vandécia Rejane Fernandes Universidade Federal do Maranhão (UFMA) Av. dos Portugueses s/n, Campus Universitário do Bacanga

Leia mais

IMPLICAÇÕES DA FORMAÇÃO CONTINUADA DOCENTE PARA A INCLUSÃO DIGITAL NA ESCOLA PÚBLICA

IMPLICAÇÕES DA FORMAÇÃO CONTINUADA DOCENTE PARA A INCLUSÃO DIGITAL NA ESCOLA PÚBLICA IMPLICAÇÕES DA FORMAÇÃO CONTINUADA DOCENTE PARA A INCLUSÃO DIGITAL NA ESCOLA PÚBLICA Adriana Richit, Bárbara Pasa, Valéria Lessa, Mauri Luís Tomkelski, André Schaeffer, Andriceli Richit, Angélica Rossi

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

ANÁLISE DA APLICAÇÃO DA FILOSOFIA LEAN CONSTRUCTION EM EMPRESAS DO SETOR DE CONSTRUÇÃO CIVIL DA REGIÃO METROPOLITANA DE BELO HORIZONTE ABSTRACT

ANÁLISE DA APLICAÇÃO DA FILOSOFIA LEAN CONSTRUCTION EM EMPRESAS DO SETOR DE CONSTRUÇÃO CIVIL DA REGIÃO METROPOLITANA DE BELO HORIZONTE ABSTRACT ANÁLISE DA APLICAÇÃO DA FILOSOFIA LEAN CONSTRUCTION EM EMPRESAS DO SETOR DE CONSTRUÇÃO CIVIL DA REGIÃO METROPOLITANA DE BELO HORIZONTE ANALYSIS OF APPLICATION OF PHILOSOPHY IN LEAN CONSTRUCTION COMPANIES

Leia mais

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil Elicitação de Requisitos a partir de Modelos de Processos de Negócio e Modelos Organizacionais: Uma pesquisa para definição de técnicas baseadas em heurísticas Marcos A. B. de Oliveira 1, Sérgio R. C.

Leia mais

ARQUITETURA DE UM SISTEMA SPATIO-TEXTUAL. PALAVRAS-CHAVE: banco de dados espaciais, busca spatio-textual. aplicativo.

ARQUITETURA DE UM SISTEMA SPATIO-TEXTUAL. PALAVRAS-CHAVE: banco de dados espaciais, busca spatio-textual. aplicativo. ARQUITETURA DE UM SISTEMA SPATIO-TEXTUAL Fellipe de Lima Fonseca 1 ; João Batista Rocha-Junior 2 1. Bolsista CNPq, Graduando em Engenharia de Computação, Universidade Estadual de Feira de Santana, e-mail:

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

UMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1

UMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1 UMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1 Igor G. Haugg 2, Rafael Z. Frantz 3, Fabricia Roos-Frantz 4, Sandro Sawicki 5. 1 Pesquisa

Leia mais

Proposta de um método para auditoria de projetos de desenvolvimento de software iterativo e incremental

Proposta de um método para auditoria de projetos de desenvolvimento de software iterativo e incremental Proposta de um método para auditoria de projetos de desenvolvimento de software iterativo e incremental Francisco Xavier Freire Neto 1 ; Aristides Novelli Filho 2 Centro Estadual de Educação Tecnológica

Leia mais

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

Efficient Locally Trackable Deduplication in Replicated Systems. www.gsd.inesc-id.pt. technology from seed

Efficient Locally Trackable Deduplication in Replicated Systems. www.gsd.inesc-id.pt. technology from seed Efficient Locally Trackable Deduplication in Replicated Systems João Barreto and Paulo Ferreira Distributed Systems Group INESC-ID/Technical University Lisbon, Portugal www.gsd.inesc-id.pt Bandwidth remains

Leia mais

Desenvolvimento de uma Rede de Distribuição de Arquivos. Development of a File Distribution Network

Desenvolvimento de uma Rede de Distribuição de Arquivos. Development of a File Distribution Network Desenvolvimento de uma Rede de Distribuição de Arquivos Development of a File Distribution Network Desenvolvimento de uma Rede de Distribuição de Arquivos Development of a File Distribution Network Talles

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

NanoDataCenters. Aline Kaori Takechi 317055

NanoDataCenters. Aline Kaori Takechi 317055 NanoDataCenters Aline Kaori Takechi 317055 INTRODUÇÃO Introdução Projeto Europeu: NICTA National ICT Australia FP7 7th Framework Program Rede formada por Home Gateways Objetivo: distribuir conteúdo Dispositivos

Leia mais

Análise Probabilística de Semântica Latente aplicada a sistemas de recomendação

Análise Probabilística de Semântica Latente aplicada a sistemas de recomendação Diogo Silveira Mendonça Análise Probabilística de Semântica Latente aplicada a sistemas de recomendação Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título de

Leia mais

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR Jeferson J. S. Boesing 1 ; Manassés Ribeiro 2 1.Aluno do Curso

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

Universidade Federal de Pernambuco

Universidade Federal de Pernambuco Universidade Federal de Pernambuco GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 201 1. 2 Sistema de Gestão de Processos de Negócio Baseado em Modelos Declarativos Proposta de Trabalho de Graduação

Leia mais

Wesley Vaz, MSc., CISA

Wesley Vaz, MSc., CISA Wesley Vaz, MSc., CISA Objetivos Ao final da palestra, os participantes deverão ser capazes de: Identificar e compreender os princípios do Cobit 5; Identificar e conhecer as características dos elementos

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

On Scalability of Software-Defined Networking

On Scalability of Software-Defined Networking On Scalability of Software-Defined Networking Bruno dos Santos Silva bruno.silva@ic.uff.br Instituto de Computação IC Universidade Federal Fluminense UFF 24 de Setembro de 2015 B. S. Silva (IC-UFF) On

Leia mais

Sistema de Acompanhamento ao Desempenho do Aluno

Sistema de Acompanhamento ao Desempenho do Aluno Sistema de Acompanhamento ao Desempenho do Aluno Manoel Cardoso da Silveira Neto 1, Luciana Vescia Lourega 1 1 Instituto Federal Farroupilha Campus Júlio de Castilhos RS - Brasil Caixa Postal 38 98.130-000

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

LEIA ISTO PRIMEIRO. IBM Tivoli Configuration Manager, Versão 4.2.1

LEIA ISTO PRIMEIRO. IBM Tivoli Configuration Manager, Versão 4.2.1 LEIA ISTO PRIMEIRO IBM Tivoli, Versão 4.2.1 O IBM Tivoli, Versão 4.2.1, é uma solução para controlar a distribuição de software e o inventário de gerenciamento de recursos em um ambiente multiplataformas.

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador)

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador) Multiprocessamento Multiprocessadores com memória distribuída (multicomputador) Conjunto de processadores, cada qual com sua memória local Processadores se comunicam por troca de mensagens, via rede de

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

Universidade do Minho. Escola de Engenharia. UC transversais Programas Doutorais 1º semestre 2012-13. 11 de outubro 2012

Universidade do Minho. Escola de Engenharia. UC transversais Programas Doutorais 1º semestre 2012-13. 11 de outubro 2012 Universidade do Minho Escola de Engenharia UC transversais Programas Doutorais 1º semestre 2012-13 11 de outubro 2012 1 2 2 courses offered in the first semestre: Métodos de Investigação em Engenharia

Leia mais

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Engenharia de Software: Introdução Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. UML 3. O Processo Unificado 1. Captura de requisitos 2.

Leia mais

MPLS Multi-Protocol Label Switching

MPLS Multi-Protocol Label Switching MPLS Multi-Protocol Label Switching Adilson Eduardo Guelfi Volnys Borges Bernal Luis Gustavo G. Kiatake Agenda Introdução Arquitetura de Rede Conceitos MPLS Conclusões Introdução MPLS is the enabling technology

Leia mais

Relatório de Progresso

Relatório de Progresso Luís Filipe Félix Martins Relatório de Progresso Mestrado Integrado em Engenharia Electrotécnica e de Computadores Preparação para a Dissertação Índice Introdução... 2 Motivação... 2 Cloud Computing (Computação

Leia mais

Definição de projeto segundo o PMI Um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo.

Definição de projeto segundo o PMI Um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. 1 2 3 Definição de projeto segundo o PMI Um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. Temporário Temporário significa que todos os projetos possuem

Leia mais

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

Software de rede e Modelo OSI André Proto UNESP - São José do Rio Preto andre.proto@sjrp.unesp.br O que será abordado Hierarquias de protocolos (camadas) Questões de projeto relacionadas às camadas Serviços

Leia mais

O Problema do k-servidor

O Problema do k-servidor Autor: Mário César San Felice Orientador: Orlando Lee 22 de março de 2010, IC-Unicamp Estrutura A seguir temos a estrutura geral da dissertação. Otimização combinatória Computação online Análise competitiva

Leia mais

Exame de Fundamentos da ITIL

Exame de Fundamentos da ITIL Exame de Fundamentos da ITIL Simulado A, versão 5.1 Múltipla escolha Instruções 1. Todas as 40 perguntas devem ser respondidas. 2. Todas as respostas devem ser assinaladas na grade de respostas fornecida.

Leia mais

Uma Análise de Práticas na Aplicação de SCRUM em Projetos de Grande Porte

Uma Análise de Práticas na Aplicação de SCRUM em Projetos de Grande Porte Evandro Oliveira das Flores Uma Análise de Práticas na Aplicação de SCRUM em Projetos de Grande Porte Dissertação de Mestrado Dissertação apresentada como requisito parcial para a obtenção do grau de Mestre

Leia mais

Um Modelo de Componentes de Software com Suporte a Múltiplas Versões

Um Modelo de Componentes de Software com Suporte a Múltiplas Versões Hugo Roenick Um Modelo de Componentes de Software com Suporte a Múltiplas Versões Dissertação de Mestrado Dissertação apresentada ao Programa de Pós graduação em Informática do Departamento de Informática

Leia mais

Elbio Renato Torres Abib. Escalonamento de Tarefas Divisíveis em Redes Estrela MESTRADO. Informática DEPARTAMENTO DE INFORMÁTICA

Elbio Renato Torres Abib. Escalonamento de Tarefas Divisíveis em Redes Estrela MESTRADO. Informática DEPARTAMENTO DE INFORMÁTICA Elbio Renato Torres Abib Escalonamento de Tarefas Divisíveis em Redes Estrela DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE INFORMÁTICA Programa de Pós graduação em Informática Rio de Janeiro Junho de 2004 Elbio

Leia mais

Marcelo Frate Instituto Federal de São Paulo Campus Boituva. Fabio Luciano Verdi Universidade Federal de São Carlos Campus Sorocaba

Marcelo Frate Instituto Federal de São Paulo Campus Boituva. Fabio Luciano Verdi Universidade Federal de São Carlos Campus Sorocaba Alexis Saito Ericsson Telecomunicações Marcelo Frate Instituto Federal de São Paulo Campus Boituva Fabio Luciano Verdi Universidade Federal de São Carlos Campus Sorocaba Qualidade de Serviço em redes Qualidade

Leia mais

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001 47 5 Redes Neurais O trabalho em redes neurais artificiais, usualmente denominadas redes neurais ou RNA, tem sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações

Leia mais

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP)

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP) teste 1 Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP) Rafael Fernando Diorio www.diorio.com.br Tópicos - Atualizações e segurança do sistema - Gerenciamento do computador -

Leia mais

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Autor:Thiago França Naves 1, Orientador: Carlos Roberto Lopes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade

Leia mais

Projecto: +INOV-custos / Project: +INOV-costs

Projecto: +INOV-custos / Project: +INOV-costs 1 OBJETIVO / OBJECTIVE 2 FASES / PHASES 3 RESULTADOS SUNVISOR / SUNVISOR RESULTS 4 RESULTADOS CARTER / CARTER RESULTS Grupo industrial especializado en la gestión de procesos de alto valor añadido 1 Objetivo

Leia mais

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG Marco T. A. Rodrigues*, Paulo E. M. de Almeida* *Departamento de Recursos em Informática Centro Federal de Educação Tecnológica de

Leia mais

UNIVERSIDADE F EDERAL DE P ERNAMBUCO ANÁLISE DE UM MÉTODO PARA DETECÇÃO DE PEDESTRES EM IMAGENS PROPOSTA DE TRABALHO DE GRADUAÇÃO

UNIVERSIDADE F EDERAL DE P ERNAMBUCO ANÁLISE DE UM MÉTODO PARA DETECÇÃO DE PEDESTRES EM IMAGENS PROPOSTA DE TRABALHO DE GRADUAÇÃO UNIVERSIDADE F EDERAL DE P ERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2010.2 ANÁLISE DE UM MÉTODO PARA DETECÇÃO DE PEDESTRES EM IMAGENS PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno!

Leia mais

CMDB no ITIL v3. Miguel Mira da Silva. mms@ist.utl.pt 919.671.425

CMDB no ITIL v3. Miguel Mira da Silva. mms@ist.utl.pt 919.671.425 CMDB no ITIL v3 Miguel Mira da Silva mms@ist.utl.pt 919.671.425 1 CMDB v2 Configuration Management IT components and the services provided with them are known as CI (Configuration Items) Hardware, software,

Leia mais

Classificação: Determinístico

Classificação: Determinístico Prof. Lorí Viali, Dr. viali@pucrs.br http://www.pucrs.br/famat/viali/ Da mesma forma que sistemas os modelos de simulação podem ser classificados de várias formas. O mais usual é classificar os modelos

Leia mais

ANÁLISE DA CONSERVAÇÃO PÓS-COLHEITA DA ALFACE (Lactuca Sativa, L) UTILIZANDO O SISTEMA DE APOIO À TOMADA DE DECISÃO BKD

ANÁLISE DA CONSERVAÇÃO PÓS-COLHEITA DA ALFACE (Lactuca Sativa, L) UTILIZANDO O SISTEMA DE APOIO À TOMADA DE DECISÃO BKD ANÁLISE DA CONSERVAÇÃO PÓS-COLHEITA DA ALFACE (Lactuca Sativa, L) UTILIZANDO O SISTEMA DE APOIO À TOMADA DE DECISÃO BKD RESUMO Thereza P. P. Padilha Fabiano Fagundes Conceição Previero Laboratório de Solos

Leia mais

PRINCE2 FOUNDATION AND PRACTITIONER INNOVATIVE LEARNING SOLUTIONS WWW.PYLCROW.COM PORTUGAL - BRAZIL - MOZAMBIQUE

PRINCE2 FOUNDATION AND PRACTITIONER INNOVATIVE LEARNING SOLUTIONS WWW.PYLCROW.COM PORTUGAL - BRAZIL - MOZAMBIQUE PYLCROW Portugal LISBOA Email: info.pt@pylcrow.com Telefone: +351 21 247 46 00 http://www.pylcrow.com/portugal WWW.PYLCROW.COM PORTUGAL - BRAZIL - MOZAMBIQUE FOUNDATION AND PRACTITIONER INNOVATIVE LEARNING

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Mestrado em Ciências Jurídicas Especialização em História do Direito 2015-16

Mestrado em Ciências Jurídicas Especialização em História do Direito 2015-16 Mestrado em Ciências Jurídicas Especialização em História do Direito Unidade curricular História do Direito Português I (1º sem). Docente responsável e respectiva carga lectiva na unidade curricular Prof.

Leia mais

Alta disponibilidade utilizando Roteamento Virtual no RouterOS GUILHERME RAMIRES

Alta disponibilidade utilizando Roteamento Virtual no RouterOS GUILHERME RAMIRES Alta disponibilidade utilizando Roteamento Virtual no RouterOS GUILHERME RAMIRES Nome: Guilherme M. Ramires Analista de Sistemas Pós-Graduado em Tecnologia e Gerenciamento de Redes de Computadores CEO

Leia mais

e-lab: a didactic interactive experiment An approach to the Boyle-Mariotte law

e-lab: a didactic interactive experiment An approach to the Boyle-Mariotte law Sérgio Leal a,b, João Paulo Leal a,c Horácio Fernandes d a Departamento de Química e Bioquímica, FCUL, Lisboa, Portugal b Escola Secundária com 3.º ciclo Padre António Vieira, Lisboa, Portugal c Unidade

Leia mais

FANESE Faculdade de Administração e Negócios de Sergipe

FANESE Faculdade de Administração e Negócios de Sergipe I FANESE Faculdade de Administração e Negócios de Sergipe GERENCIAMENTO DE PATCHES Atualizações de segurança Aracaju, Agosto de 2009 DAYSE SOARES SANTOS LUCIELMO DE AQUINO SANTOS II GERENCIAMENTO DE PATCHES

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

Leia mais

SOFTWARE EDUCATIVO DE MATEMÁTICA: SHOW MATH

SOFTWARE EDUCATIVO DE MATEMÁTICA: SHOW MATH SOFTWARE EDUCATIVO DE MATEMÁTICA: SHOW MATH Anderson Clavico Moreira Profª. Ms. Deise Deolindo Silva short_acm@hotmail.com deisedeolindo@hotmail.com Curso de Tecnologia em Análise e Desenvolvimento de

Leia mais

Capítulo 9. Gerenciamento de rede

Capítulo 9. Gerenciamento de rede 1 Capítulo 9 Gerenciamento de rede 2 Redes de computadores I Prof.: Leandro Soares de Sousa E-mail: leandro.uff.puro@gmail.com Site: http://www.ic.uff.br/~lsousa Não deixem a matéria acumular!!! Datas

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e JEANE MENDES DA SILVA SANTOS Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e Plano de Trabalho de Conclusão de Curso apresentado à Universidade Federal de

Leia mais

ESTUDO DE CASO: LeCS: Ensino a Distância

ESTUDO DE CASO: LeCS: Ensino a Distância ESTUDO DE CASO: LeCS: Ensino a Distância HERMOSILLA, Lígia Docente da Faculdade de Ciências Jurídicas e Gerenciais de Garça FAEG - Labienópolis - CEP 17400-000 Garça (SP) Brasil Telefone (14) 3407-8000

Leia mais