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 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica em Andamento do IC-UNICAMP Ariadne Carvalho Divino César Edelson Constantino Elisa Rodrigues Ewerton Martins Ewerton Silva Fabio A. Faria Flavio Nicastro Greice Mariano Gustavo Alkmim Heiko Hornung Juliana Borin Leonardo Tampelini Maxiwell Garcia Priscila T. M. Saito Roberto Pereira Samuel Buchdid Vanessa Maike Walisson Pereira Technical Report - IC Relatório Técnico August Agosto 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 33 trabalhos apresentados no IX 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 2014). O Workshop ocorreu nos dias 11 e 12 de agosto de 2014 e contou com mais de 100 participantes, entre ouvintes, apresentadores de trabalhos e organizadores. Na ocasião houve 31 apresentações orais e 12 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 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 Análise de Grandes Volumes de Dados Bibliográficos, foi proferida pelo Professor Luciano Digiampietri, da Universidade de São Paulo (USP). Foram oferecidos dois minicursos. O primeiro, intitulado Fundamentos de Estatística para Computação, foi ministrado pelo Professor Jorge Stolfi; o segundo, intitulado Como Arruinar uma Apresentação Oral, foi ministrado pela Professora Claudia Bauzer Medeiros, ambos do IC-UNICAMP. Tanto a palestra como os minicursos foram gravados e transmitidos online. Agradecemos 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. Agradecemos, também, aos professores e alunos de doutorado do IC que compuseram as bancas de avaliação dos trabalhos. Agradecemos ao Professor Ricardo da Silva Torres, 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, agradecemos 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 Divino César, Edelson Constantino, Elisa Rodrigues, Ewerton Martins, Ewerton Silva, Fabio A. Faria, Flavio Nicastro, Greice Mariano, Gustavo Alkmim, Heiko Hornung, Leonardo Tampelini, Maxiwell Garcia, Priscila Tiemi Maeda Saito, Roberto Pereira, Samuel Buchdid, Vanessa Maike e Walisson Pereira. A eles dedico o IX Workshop de Teses, Dissertações e Trabalhos de Iniciação do IC. Ariadne Maria Brito Rizzoni Carvalho Juliana Freitag Borin Coordenadoras do ix wtd Professoras do Instituto de Computação - unicamp

3 Sumário 1 Resumos estendidos A Comparative Analysis between Object Atlas and Object Cloud Models for Medical Image Segmentation. Renzo Phellan, Alexandre Falcão A Fault-Tolerant Software Product Line for Data Collection using Mobile Devices and Cloud Infrastructure. Cecília M. F. Rubira, Gustavo M. Waku, Edson R. Bollis, Ricardo S. Torres, Flavio Nicastro, Leonor P. Morellato A Multiscale and Multi-Perturbation Blind Forensic Technique For Median Detecting. Anselmo Ferreira and Anderson Rocha A Software Products Line Solution Based in Components and Aspects for the E-commerce Domain. Raphael Porreca Azzolini, Cecília Mary Fischer Rubira An Architecture for Dynamic Self-Adaptation in Workflows. Sheila K. Venero Ferro, Cecilia Mary Fischer Rubira Coloração de Arestas Semiforte de Grafos Split. Aloísio de Menezes Vilas-Bôas, Célia Picinin de Mello Complex pattern detection and specification from multiscale environmental variables for biodiversity applications. Jacqueline Midlej do Espírito Santo, Claudia Bauzer Medeiros Diabetic Retinopathy Image Quality Assessment, Detection, Screening and Referral. Ramon Pires and Anderson Rocha Ferramentas para simulação numérica na nuvem. Renan M. P. Neto, Juliana Freitag Borin, Edson Borin Information and Emotion Extraction in Portuguese from Twitter for Stock Market Prediction. Fernando J. V. da Silva, Ariadne M. B. R. Carvalho Modelo Ativo de Aparência Aplicado ao Reconhecimento de Emoções por Expressão Facial Parcialmente Oculta. Flávio Altinier Maximiano da Silva, Hélio Pedrini

4 3 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 1.12 Multiple Parenting Phylogeny. Alberto Oliveira, Zanoni Dias, Siome Goldenstein, Anderson Rocha O problema da partição em cliques dominantes. Henrique Vieira e Sousa, C. N. Campos Optimizing Simulation in Multiprocessor Platforms using Dynamic- Compiled Simulation. Maxiwell Salvador Garcia, Rodolfo Azevedo and Sandro Rigo Preempção de Tarefas MapReduce via Checkpointing. Augusto Souza, Islene Garcia Processo Situado e Participativo para o Design de Aplicações de TVDi: Uma Abordagem Técnico-Social. Samuel B. Buchdid e M. Cecília C. Baranauskas Processors Power Analysis. Jéssica T. Heffernan, Rodolfo Azevedo Uma abordagem caixa-branca para teste de transformação de modelos. Érika R. C. de Almeida, Eliane Martins Uma Solução para Monitoração de Serviços Web Baseada em Linhas de Produtos de Software. Rômulo J. Franco, Cecília M. Rubira User Association and Load Balancing in HetNets. Alexandre T. Hirata, Eduardo C. Xavier, Juliana F. Borin Reconstrução de Filogenias para Imagens e Vídeos. Filipe de O. Costa, Anderson Rocha (Orientador), Zanoni Dias (Coorientador) Superpixel-based interactive classification of very high resolution images. John E. Vargas, Priscila T. M. Saito, Alexandre X. Falcão, Pedro J. de Rezende, Jefersson A. dos Santos Supporting the study of correlations between time series via semantic annotations. Lucas Oliveira Batista, Claudia Bauzer Medeiros Resumo dos pôsteres A Model-Driven Infrastructure for Developing Dynamic Software Product Line. Junior Cupe Casquina, Cecilia Mary Fischer Rubira Aplicação do Critério Análise de Mutantes para Avaliação dos Casos de Testes Gerados a partir de Modelos de Estados. Wallace Felipe Francisco Cardoso, Eliane Martins Combining active semi-supervised learning through optimumpath forest. Priscila T. M. Saito, Willian P. Amorim, Alexandre X. Falcão, Pedro J. de Rezende, Celso T. N. Suzuki, Jancarlo F. Gomes, Marcelo H. de Carvalho

5 SUMÁRIO Desenvolvimento de um ambiente de baixo custo para o uso de Interfaces Tangíveis no ensino de crianças da educação fundamental. Marleny Luque Carbajal, M. Cecília C. Baranauskas Explorando os Benefícios das Interfaces Tangíveis no Tratamento de Crianças Autistas. Kim P. Braga, Maria Cecília C. Baranauskas Identificação de Programas Maliciosos por meio da Monitoração de Atividades Suspeitas no Sistema Operacional. Marcus Felipe Botacin, Prof. Dr. Paulo Lício de Geus, André R. A. Grégio Implementação de um simulador de plataforma ARMv7 utilizando ArchC. Gabriel K. Bertazi, Edson Borin Oportunidades de economia de energia em dispositivos móveis. João H. S. Hoffmam, Sandro Rigo, Edson Borin Video-Based Face Spoofing Detection through Visual Rhythm Analysis. Allan Pinto, Anderson Rocha Wear-out Analysis of Error Correction Techniques in Phase- Change Memory. Caio Hoffman, Rodolfo Jardim de Azevedo, Guido Costa Souza de Araújo Programação do WTD 160

6 1. Resumos estendidos Existem muitas hipóteses em ciências que estão erradas. Isto é perfeitamente aceitável, elas são a abertura para achar as que estão certas Carl Sagan

7 Resumos estendidos 6 A Comparative Analysis between Object Atlas and Object Cloud Models for Medical Image Segmentation Renzo Phellan 1, Alexandre Falcão 1 1 LIV, Institute of Computing University of Campinas (UNICAMP) Campinas, SP, Brazil ra144686@students.ic.unicamp.br, afalcao@ic.unicamp.br Abstract. Medical image segmentation is crucial for quantitative organ analysis and surgical planning. However, it may be a time-consuming task for clinicians, when it has to be done interactively. Automatic segmentation methods based on 3D object appearance models have been proposed to mitigate/circumvent the problem. Among them, approaches based on object atlas (OAM) are the most actively investigated. Nevertheless, they require a timecostly image registration process. Object cloud models (OCM) have been introduced to avoid registration, considerably speeding up the whole process, but they have never been compared to OAM. The present paper fills up this gap by presenting a comparative analysis of both approaches for nine organs of the human body. Resumo. A segmentação de imagens médicas é uma etapa fundamental na análise de órgãos e o planejamento cirúrgico. Porém, pode se tornar uma tarefa demorada para os médicos, quando é realizada interativamente. Os métodos de segmentação automática, baseados em Modelos da Aparência do Objeto 3D, tem sido propostos para mitigar/evitar esse problema. Entre eles, as abordagens baseadas em Atlas (OAM) são as mais pesquisadas. No entanto, elas precisam de um processo de registro de imagens, que é demorado. Os Modelos Nebulosos do Objeto (OCM) tem sido propostos com o objetivo de evitar o registro e acelerar o processo de segmentação, mas eles nunca foram comparados com os OAM. O presente artigo preenche essa lacuna apresentando uma análise comparativa entre as duas abordagens, para nove órgãos do corpo humano. 1. Introduction Quantitative organ analysis and surgical planning often require a precise segmentation of the organs contained in 3D medical images of the patient [Udupa et al. 2011]. This task can be done interactively/manually by medical experts. However, manual segmentation is a time-consuming, tedious, error-prone, and subjected to inter-observer variability [Vos et al. 2013]. In order to solve this problem, automatic segmentation methods based on object appearance models have been proposed. These approaches build an atlasbased/cloud model from a set of training images and their respective object masks, as obtained by interactive segmentation. The model is then used to detect and delineate the object in each new image. Object atlas models (OAM) are the most popular ones ([Vos et al. 2013], [Lötjönen et al. 2011] and [Tamez-Peña et al. 2011]). The model appears as a probabilistic object, with a very narrow uncertainty region. By thresholding the probability values,

8 7 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica one can obtain objects with the 3D shape of the organ or other anatomical structure. OAM construction requires the selection of a training image to be the reference coordinate system and the time-costly registration of the other training images into that system. The 3D anatomical structure in a new image is detected by also registering the image into the atlas coordinate system, which usually takes some minutes. Object delineation can then be simplified, for instance, to voxel classification [Vos et al. 2013]. Object cloud models (OCM) [Miranda et al. 2008] avoid registration by building the model simply based on translations of the training masks to a common reference point (their object centers). As a result, the model presents a fuzzy appearance of the object s shape, with an uncertainty region larger than the one of OAM due to the abscence of registration. Object detection in a new image requires to translate the model over the image, delineate a candidate object at each position within the uncertainty region of the model, and evaluate each delineation score, which should be maximum at the correct organ position. Such a simplification with a clever implementation of the object search process allows to complete segmentation in some seconds per anatomical structure. Moreover, model construction also takes some seconds per object rather than hours, as in OAM. 2. Contributions The advantages in computational time of OCM over OAM makes it more attactive, but it is also important to compare their accuracies in segmentation. The present work fills up this gap. We detail our implementation of each model, OAM and OCM, and indicate the situations where one approach has advantages over the other. 3. Segmentation using Object Atlas Model For a given anatomical structure of interest and training set of medical images with their respective binary masks, we select the atlas reference system by computing the distances between each pair of training masks and selecting the one whose average distance to the others is minimum. We used the Average Symmetric Surface Distance (ASSD) [Langerak et al. 2011] for this task, because it can better detect the local differences between boundaries than global measures, such as Dice Similarity Coefficient (DSC), for instance. Then, we register all training images into the reference system of the image whose mask has the minimum ASSD with affine transformation followed by locally deformable transformation. Image registration was computed by the software tool Elastix [Klein et al. 2010], which is publicly available at The resulting deformation field for each image is then applied to transform its respective binary mask. In the atlas coordinate system, the training masks are averaged to compute a prior probability map (i.e., the atlas). For a given new image containing an anatomical structure we must first register it into the atlas coordinate system. The anatomical structure could be segmented by thresholding the prior probability map at 0.5, but this would disregard the local image properties of the structure in the new image [Gao and Tannembaum 2011]. We take into account these properties by estimating the conditional probability density, the joint probability density, and finally the posterior probability map [Vos et al. 2013].

9 Resumos estendidos 8 The conditional probability density is a Gaussian distribution, whose mean and standard deviation are computed over the gray values of the voxels inside the anatomical structure, using all training images. It reflects the probability of a voxel belonging to the structure, given its gray value. The joint probability density is simply the normalized histogram of the new image, which is going to be segmented. By Bayes formula, the posterior probability corresponds to the product of the prior probability value with the conditional probability density value, divided by the joint probability density value. The anatomical structure is then segmented by selecting voxels with posterior probability greater or equal than 0.5 [Vos et al. 2013]. 4. Segmentation using Object Cloud Model An object cloud model (OCM) for a given anatomical structure can be defined as a triple that consists of a fuzzy object, a delineation algorithm A and a functional F [Miranda et al. 2008]. The fuzzy object is obtained by translating all training binary masks to a same reference point (their geometric center) and averaging their values. Due to the absence of registration, the uncertainty region of the fuzzy object tends to be much larger than the one of the atlas. The uncertainty region is defined by voxels with values in the interval (0, 1). The interior and exterior of the model are defined by voxels that are either inside (value 1) or outside (value 0) of any training mask, respectively. Such a wider uncertainty region requires higher effectiveness of the delineation algorithm than the one used in OAM to locally fine tuning the anatomical structure s boundary. Figure 1 shows both, the probabilistic atlas and the fuzzy object of the Left Pleural Sac, as obtained from CT images of the thorax. We chose the Image Foresting Transform from Seeds Competition (IFT-SC) as the algorithm A, for delineation [Miranda and Falcão 2009]. It interprets an image as a graph by assigning each voxel to a node and connecting it to its 26 nearest neighbors. The weight of each arc between voxels is given by a combination between the magnitude of the 3D Sobel s gradient of the original image and the magnitude of the 3D Sobel s gradient of the conditional probability density map estimated for that image (the same used for the atlas). The arc weights are meant to be higher on the border of the anatomical structure than inside and outside it. At any given position of the fuzzy object in the image, the interior and exterior voxels are used to define two different seed sets, which must compete for the most closely connected voxels in the uncertainty region. Then, the anatomical structure is defined by the union between the interior voxels and the voxels of the uncertainty region conquered by the first ones. For the functional F, which scores the candidate segmentations, we chose the mean arc weight along the IFT-SC graph cut [Miranda et al. 2008]. This way, for a given new image, the fuzzy object translates over the image and, for each position, the IFT-SC algorithm is executed inside the uncertainty region to obtain a candidate segmentation. The functional F is evaluated on this segmentation to obtain a matching score. The desired segmentation is expected to be the one with maximum score. The object search process can be optimized by several ways. We optimized this process by estimating the search region (a small fraction of the image) from the translations of the training masks during construction of the the model and applying the Multi Scale Parameter Search (MSPS)

10 9 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica optimization algorithm [Chiachia et al. 2011]. Figure 1. Coronal slices of the object (1) atlas and (2) cloud models of the Left Pleural Sac. 5. Results We evaluated and compared both models, OAM and OCM, using three datasets: (a) 35 MR-T1 images of the brain with voxel sizes 0.98 x 0.98 x 0.98 mm and their corresponding binary masks for the Cerebellum (C), Left Hemisphere (LH) and Right Hemisphere (RH); (b) 35 CT images of the thorax with voxel sizes 2.5 x 2.5 x 2.5 mm and their corresponding binary masks for the Internal Mediastinum (IMS) and Pericardial Region (PC); in the case of PC, however, we had only 30 binary masks available; and (c) 40 low-dose CT images of the thorax with voxel sizes 1.25 x 1.25 x 1.25 mm and their corresponding binary masks for the following anatomical structures: Left Pleural Sac (LPS), Right Pleural Sac (RPS), Respiratory System (RS) and Thoracic Skin (TSkn). Datasets (a) and (b) were segmented by multiple experts using manual and interactive segmentation tools. Dataset (c) was obtained from the VIA/I-ELCAP Public Access Research Database, available at It was segmented by using interactive segmentation tools, under the supervision of an expert. Figure 2. Coronal slices of the resulting segmentations when using (1) OAM and (2) OCM to segment the Cerebellum. The experiments used Leave-one-out cross-validation. The results were evaluated using the Dice Similarity Coefficient (DSC) expressed as a percentage. We performed

11 Resumos estendidos 10 Anat. Struct. OCM Acc. OAM Acc. Z-test Significant C / / Yes LH / / Yes RH / / Yes Tskn / / Yes LPS / / Yes RPS / / No RS / / Yes IMS / / Yes PC / / Yes Table 1. DSC accuracies (mean and standard deviation) for OCM and OAM. Anat. Struct. OCM time OAM time C LH RH Tskn LPS RPS RS IMS PC Table 2. OCM and OAM segmentation times in seconds. a two-tailed Z-test, with a 95% confidence limit. In this case, the critical value for null hypothesis rejection was +/ Table 1 shows the results for DSC. As it can be noticed, OCM can generate significantly better accuracies for C, LH, RH, LPS, RS and TSkn. In the case of RPS, no significant improvement was noticed. Finally, for PC and IMS, OAM was better than OCM. Figure 2 shows two coronal slices of the resulting segmentations when using OAM and OCM to segment the Cerebellum. Table 2 shows the times in seconds required to use the models in order to segment a new image. They were calculated using a same computer with an Intel Core i5 processor, at 2.4 GHz, with 4 GB of RAM and without graphic card. It can be noted that OCM can provide a considerable speed up, being at least 40 times faster than OAM. 6. Conclusions We implemented and compared two segmentation methods based on object appearance models. The first one is an OAM which uses a thresholding on the posterior probability map for object delineation from the object s detection provided by image registration with the atlas reference system. The second one is an OCM which replaces image registration by object search based on translations of the model over the image. By avoiding the timecostly image registration for model construction and use, and constraining object search with a small region of the image, OCM can provide a considerable speed up, being at

12 11 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica least 40 times faster than OAM. OCM also exhibits a significantly better accuracy for six of the nine evaluated anatomical structures, while OAM generates better results for two of them. 7. Acknowledgment The authors thank CNPq (303673/2010-9, /2013-0, /2013-0) and FAPESP for the finantial support. The authors also thank Dr. Jayaram K. Udupa for providing medical images used to test the models, and their organ segmentations. References Chiachia, G., Falcão, A. X., and Rocha, A. (2011). Multiscale parameter search (msps): A deterministic approach for black-box global optimization. Tech. Rep. IC-11-15, Univ. of Campinas, Campinas, SP. Gao, Y. and Tannembaum, A. (2011). Combining atlas and active contour for automatic 3D medical image segmentation. In The Eigth IEEE Intl. Symp. on Biomedical Imaging: From Nano to Macro (ISBI), pages Klein, S., Staring, M., Murphy, K., Viergever, M. A., and Pluim, J. P. W. (2010). Elastix: A toolbox for intensity based medical image registration. IEEE Transactions on Medical Imaging, 29(1): Langerak, T. R., der Heide, U. A. V., Kotte, A. N. T. J., Berendsen, F. F., and Pluim, J. P. W. (2011). Evaluating and improving label fusion in atlas-based segmentation using the surface distance. In SPIE on Medical Imaging, volume 7962, pages 1 7. Lötjönen, J., Wolz, R., Koikkalainen, J., Thurfjell, L., Lundqvist, R., Waldemar, G., Soininen, H., and Rueckert, D. (2011). Improved generation of probabilistic atlases for the expectation maximization classification. In The Eigth IEEE Intl. Symp. on Biomedical Imaging: From Nano to Macro (ISBI), pages Miranda, P. A. and Falcão, A. X. (2009). Links between image segmentation based on optimum-path forest and minimum cut in graph. Journal of Mathematical Imaging and Vision, 35(2): Miranda, P. A. V., Falcão, A. X., and Udupa, J. K. (2008). CLOUDS: A model for synergistic image segmentation. In The Fifth IEEE Intl. Symp. on Biomedical Imaging: From Nano to Macro (ISBI), pages Tamez-Peña, J., González, P., Farber, J., Baum, K., Schreyer, E., and Totterman, S. (2011). Atlas based method for the automated segmentation and quantification of knee features: Data from the osteoarthritis initiative. In The Eigth IEEE Intl. Symp. on Biomedical Imaging: From Nano to Macro (ISBI), pages Udupa, J. K., Odhner, D., Falcão, A. X., Ciesielski, K. C., Miranda, P. A. V., Vaideeswaran, P., S.Mishra, Grevera, G. J., Saboury, B., and Torigian, D. A. (2011). Fuzzy object modeling. In SPIE on Medical Imaging, volume 7964, pages Vos, P. C., I sgum, I., Biesbroek, J. M., Velthuis, B. K., and Viergever, M. A. (2013). Combined pixel classification and atlas-based segmentation of the ventricular system in brain CT Images. In SPIE on Medical Imaging, volume 8669, pages 1 6.

13 Resumos estendidos 12 A Fault-Tolerant Software Product Line for Data Collection using Mobile Devices and Cloud Infrastructure Cecília M. F. Rubira 1, Gustavo M. Waku 1, Edson R. Bollis 1, Ricardo S. Torres 1, Flavio Nicastro 1, Leonor P. Morellato 2 1 Institute of Computing University of Campinas (UNICAMP) Campinas, SP Brazil 2 Instituto de Biologia Universidade Estadual Paulista (UNESP) Rio Claro, SP Brazil Abstract. The constant evolution of mobile devices and decreasing associated costs made them suitable for data acquisition. In order to effectively support data acquisition procedures, some challenges related to data integrity and mobile availability, such as battery level, data loss and data integrity have to be addressed. We propose a modular and configurable fault-tolerant Software Product Line (SPL) through the use of aspects. As a proof of concept, a product generated from the SPL aiming to support the acquisition of phenological data on the field using mobile devices is been developed. 1. Introduction In the past few years, sales of mobile devices increased year after year. Their increasing processing power and constant cost reduction made them very popular. Today, these devices are equipped with Wi-fi, 2G/3G/LTE antennas, cameras, accelerometer, GPS, bluetooth, high-speed processors which make them suitable to collect a variety of data. There are some devices used to collect data in the field for surveying and monitoring environmental changes [Pundt 2002], i.e., information about citizens (census) or information about which areas are affected by a epidemic disease (dengue). Android 1 is an open platform, developed by Google and Open Mobile Handset Alliance targeting mobile devices, in particular, tablets and mobile cell phones. This ecosystem has grown a lot and attracted many companies to develop applications in this environment. In this scenario, there is an opportunity to create applications for data acquisition aiming at specific markets in this platform, for example, an application to collect demographic information or biological information about certain plants, but using common software parts. Instead of developing a single application at a time, meaning duplication of effort, the use of Software Product Line (SPL) is promising. SPL is an approach for software development which allows reuse of core assets and the managements of software variability to obtain a family of similar products. Core assets are common software artifacts including code and software models. Software variability is the management of ability to change, customize, and evolve software. Variation points represent places where decisions are made to create different products aiming 1 of July 2014).

14 13 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica at specific markets. Variants are alternatives associated with these variation points. In the mobile phone industry, the GPU (Graphics Processing Unit) type can be a variation point, each mobile phone with a specific GPU represents the variants. Recently, a study has shown that the use of aspects applied to SPL creates more stable architectures [Tizzei et al. 2010]. Aspects are concerns scattered in different places, classic examples include logging, exception handling and authentication. The SPL approach could be used to create applications that have a certain common parts using aspects to modularize scattered concerns, allowing customization for domains with different business rules. In other words, there may be a SPL with the same core assets but instantiated for different domains like agriculture, geology, and phenology. Creating software for data collection helps to improve the quality of collected data and reduce turnaround analysis [Gravlee et al. 2006]. However, there are challenges related to data acquisition that need to be addressed: data integrity and mobile availability. In Brazil, according to Oliveira and Nascimento [Oliveira and Nascimento ] there is a lack of investment on network infrastructure preventing remote areas and low-income areas to transmit real-time data from the field. Once the data cannot be transmitted, there is a concern with integrity and availability. Integrity is a property related to the nonoccurrence of improper data change [Laprie 1995], or how it can store data correctly, making sure it is not lost or incompletely stored. Availability is the readiness for usage [Laprie 1995], the system should be operable most of the time in the field. Integrity and availability are properties that will guide data collection because problems such as battery level, data storage, and hardware/system crash are very usual in the field. These properties are attributes to achieve dependability. Dependability is a property of a system such that one can justifiably rely on a service this system delivers [Laprie 1995]. Part of the concept of dependability is connected with impairments and there are three categories: fault (the root cause of the error), error (part of the system state and occurs in presence of the fault) and failure (deviation of the specified service) [Pullum 2001]. In order to control the error state and to compensate the presence of faults, we propose to use techniques of fault tolerance. Fault Tolerance is the ability of an application to deliver correct service even in the presence of the faults [Pullum 2001]. In order to tolerate faults, we have to describe the resulting behavior of the system and classify the expected faults, which generates a fault model [Gärtner 1999]. Our project intends to create a set of core assets that deals with challenges in the field of data collection to achieve dependability and allow the creation of similar data collection applications. In order to assess our solution, as a proof of concept, we propose the execution of a case study using the phenology domain. In this case study, the SPL will be used to create a fault-tolerant application to support phenological data acquisition on the field. The rest of this document is organized as follows. Section 1.1 states the problem. Section 2 shows our proposed solution and methods used to solve it. Section 3 shows our expected results. Section 4 shows some related research. Section 5 discusses the case study. Section 6 shows how we intend to evaluate our results. Section 7 shows the current research status. Section 8 shows our acknowledgements.

15 Resumos estendidos Problem Statement The cost reduction of mobile devices and their constant evolution made them a suitable way to collect data in the field [Gravlee et al. 2006]. Data collection can be applied in a variety of sectors including agriculture, biology, and geology, creating an opportunity to build software core assets that provide high degree of customization. However, in order to collect data, the network availability introduces problems related to data integrity and mobile availability. Some of those problems are associated with software faults (bugs in the software), low battery level, and fail in access of server. In the field, when the mobile cannot send and cannot receive data from server, the efficiency of the research can be minimized, the data can be lost in accidents or the data collection can be interrupted because the occurrence of failure. The main research question to be addressed in this project is: how can we develop applications that can be customized to different domains considering different fault models and different levels of fault tolerance? 2. Proposed Solution and Methods We propose to build a SPL that incorporates fault-tolerant techniques with the aim of producing core assets that can be used to create applications for data acquisition but with high degree of customization to suit different domains, handling data integrity and mobile availability for Android platform. As a case study, we intend to build, as a proof of concept, a product based on a SPL for the phenology domain ( see Section 5 ). Collecting field data requires the use of mobile devices and also a cloud infrastructure to store collected information. The SPL will create core assets for mobile devices and for the cloud infrastructure. To build the SPL, we intend to use methods such as FODA (Feature Oriented Domain Analysis) [Kang et al. 1990], AO-FArM (Aspect Oriented Feature Architecture Mapping)[Tizzei et al. 2012] and COSMOS*-VP (COmponent System MOdel for Software architectures) [Dias et al. 2010]. FODA is an approach to perform domain analysis; AO-FArM provides a step-by-step guideline to create a software architecture and COSMOS*-VP is a component implementation model to realize architecture at the source code. To deal with availability and integrity it is necessary to develop a fault model, because it is impossible to prevent all the possible faults that can occur [Dubrova 2013]. Once the fault model is defined, it is possible to build a fault-tolerant solution for data collection domain. In this domain, the main problems are related to battery level, data loss, and data integrity. In order to mitigate failures due to low battery status we will develop an abstract module to calculate and estimate the battery usage. To prevent failures regarding data loss and data integrity, we will introduce redundancy in storage (e.g., synchronize data among redundant mobile devices). 3. Expected Results This project has the following expected results: A fault model for representing the main problems on data collection.

16 15 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica A dependable SPL for data collection in the cloud. A dependable SPL for data collection in mobile applications. An architecture for mobile data collection. An abstract module to calculate and estimate the battery usage and autonomy. An application and an infrastructure for data acquisition in the phenology domain (described in Section 5). 4. Related Work 4.1. Software Product Lines in mobile platform Figueiredo et al. [Figueiredo et al. 2008] present a comparative study of a SPL called MobileMedia, developed in J2ME 2. Two SPLs were implemented using different programming paradigms: Object-Oriented programming and Aspect-Oriented Programming (AOP). Later, different metrics were extracted to evaluate the change impact, cohesion, coupling and size of the program. The authors concluded that Aspect-Oriented SPL tends to have a more stable design when implementing optional and alternative features. Tizzei et al. [Tizzei et al. 2010] extend the work of Figueiredo et al. [Figueiredo et al. 2008] adding the analysis about pure component-based SPLs and hybrid approach (with components and AOP). The combination of AOP and components created a SPL that is more resilient, cohese and less coupled. The work of Alves et al. [Alves et al. 2005] shows a method that uses incremental and extractive approaches in game evolution in mobile environment. The authors built a SPL in J2ME that creates product specific configurations (such as screen size, APIs and functions). Three game applications were refactored to create a product line that uses AOP to isolate functions and represent specific configurations Fault Tolerance in mobile platform Acker et al. [Acker et al. 2009] propose a fault injection software for mobile devices based on a fault model proposed by Cristian [Cristian 1991]. They use the receiving and message interference to cause fault in communication between server and mobile devices. Acker et al. [Acker et al. 2009] propose to generate a fault model to mobile devices and study their behavior based on implementations ensuring dependability. The study of Acker et al. [Acker et al. 2009] has direct relation with this project because the usage of fault injection is a suitable way to test and evaluate the architectural patterns of fault tolerance. The studies discussed SPLs and Fault Tolerance in mobile platform, but none of them tried to propose an integrated SPL that deals with challenges in the data collection. We aim to provide this using Android technology to develop a product for phenology domain in the context of the e-phenology project, presented in Section 5. Also, none of the SPL studies tried the use of AOP in Android platform. 5. Case Study - E-Phenology The e-phenology project 3 addressed theoretical and practical problems involving the use of digital cameras for near-surface remote leaf phenological observation. It was set up 2 J2ME - Java Platform Micro Edition 3 (As of July 2014).

17 Resumos estendidos 16 the first tower-based near-surface digital monitoring systems in the Brazilian cerrado savanna vegetation, coupled to climatic stations and associated with local on-the-ground phenology observations to validate our near-surface remote data. This project is led by a partnership among University of Campinas (UNICAMP), Universidade Estadual Paulista (UNESP), Sao Paulo Research Foundation (FAPESP) and Microsoft Research. Phenology is the study of periodic animal and plant life-cycle events and how these are influenced by seasonal and variations in climate. Phenology studies open a wide range of opportunities to address different problems because they can combine direct on-the-ground observation to data collected by different devices, from digital cameras to spectral sensors. On-the-ground phenological observations preclude large areas of study and are laborious and time consuming. In the case of the e-phenology project, for example, on-the-ground data refer to phenological properties of more than 2,000 plant individuals observed on monthly basis since These data have been initially registered in paper spreadsheets and later curated in the lab to guarantee, for example, consistency among observations over time (e.g., fruits should be observed after flowers). Finally, curated data are inserted into electronic spreadsheets to be processed and analyzed. The whole data acquisition process is error-prone, which potentially may impact negatively scientific discoveries. Besides, it is a remote location subject to the influence of network availability. In this scenario, there is a strong requirement of fault tolerance because the amount of data collected is very large, which creates a real case study to develop core assets to derive a fault-tolerant application to collect phenological data. 6. Evaluation The evaluation will be executed using robustness testing by using fault injection techniques [Hsueh et al. 1997] regarding the effectiveness of the fault tolerance model used in the application. Also, we have an interest to evaluate the benefits that AOP brought to the Android platform in terms of number of lines that it avoided to develop, the flexibility achieved trough the integrated use with the SPL and the amount of consumed memory. To measure this, we will use similar set of metrics already used be colleagues [Figueiredo et al. 2008, Tizzei et al. 2010]. 7. Research Status We have a working prototype that collects data for e-phenology. This prototype has helped identifying lots of requirements. Models necessary to obtain an architecture were created and specification is going on. We expect to reuse some of the prototype s code in the final product. 8. Acknowledgments Authors are grateful to CAPES, CNPq, and the FAPESP-Microsoft Virtual Institute. References Acker, E. V., Weber, T. S., and Cechin, S. L. (2009). Injeção de falhas para validar aplicações em ambientes móveis. XI Workshop de Testes e Tolerância a Falhas.

18 17 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Alves, V., Matos Jr, P., Cole, L., Borba, P., and Ramalho, G. (2005). Extracting and evolving mobile games product lines. In Software Product Lines, pages Springer. Cristian, F. (1991). Understanding fault-tolerant distributed system. Comunication of the ACM, 34(2). Dias, M. O., Tizzei, L., Rubira, C. M., Garcia, A. F., and Lee, J. (2010). Leveraging aspect-connectors to improve stability of product-line variabilities. In VAMOS 10: Proceedings of the 4th International Workshop on Variability Modelling of Software- Intensive Systems, pages Dubrova, E. (2013). Fault-Tolerant Design. Springer. Figueiredo, E., Cacho, N., Sant Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., Filho, F. C., and Dantas, F. (2008). Evolving software product lines with aspects: An empirical study on design stability. In ICSE 08. ACM/IEEE 30th International Conference on Software Engineering, pages Gärtner, F. C. (1999). Fundamentals of fault-tolerant distributed computing in asynchronous environments. ACM Computing Surveys (CSUR), 31(1):1 26. Gravlee, C. C., Zenk, S. N., Woods, S., Rowe, Z., and Schulz, A. J. (2006). Handheld computers for direct observation of the social and physical environment. Field Methods, 18(4): Hsueh, M.-C., Tsai, T. K., and Iyer, R. K. (1997). Fault injection techniques and tools. Computer, 30(4): Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., and Peterson, A. S. (1990). Featureoriented domain analysis (foda) feasibility study. Technical report, DTIC Document. Laprie, J.-C. (1995). Dependable computing: Concepts, limits, challenges. In FTCS-25, the 25th IEEE International Symposium on Fault-Tolerant Computing-Special Issue, pages Oliveira, M. M. d. S. and Nascimento, M. P. d. Iii encontro ulepicc-br novas tecnologias e estratégias competitivas: a atuação das operadoras de telefonia móvel no brasil, frente à convergência com os serviços de tv por assinatura e internet gt1: Políticas de comunicação. Pullum, L. L. (2001). Software Fault Tolerance Techniques and Implementation. Artech House. Pundt, H. (2002). Field data collection with mobile gis: Dependencies between semantics and data quality. GeoInformatica, 6(4): Tizzei, L., Rubira, C., and Lee, J. (2012). An aspect-based feature model for architecting component product lines. In Software Engineering and Advanced Applications (SEAA), th EUROMICRO Conference on, pages Tizzei, L. P., Dias, M., Rubira, C. M. F., Garcia, A., and Lee, J. (2010). Components meet aspects: Assessing design stability of a software product line. Information and Software Technology, 53(2):

19 Resumos estendidos 18 A Multiscale and Multi-Perturbation Blind Forensic Technique For Median Detecting Anselmo Ferreira 1 and Anderson Rocha 1 1 Institute of Computing, University of Campinas Av. Albert Einstein, 1251, Cidade Universitaria, Campinas/SP - Brasil, CEP Abstract. This paper aims at detecting traces of median filtering in digital images, a problem of paramount importance in digital forensics, given that filtering can be used to conceal traces of image tampering such as resampling and light direction in photomontages. To accomplish this objective, we present a novel approach based on multiple and multiscale progressive perturbations on images able to capture different median filtering traces through using image quality metrics. Such measures are then used to build a discriminative feature space, suitable for proper classification regarding whether or not a given image contains signs of filtering. Resumo. Esse artigo objetiva detectar traços de filtragem mediana em imagens digitais, um problema de fundamental importância em análise forense de imagens digitais, dado que essa filtragem pode ser usada para esconder traços de falsificações de imagens tais como redimensionamento e direção de luz em foto-montagens. Para alcançar esse objetivo, apresentamos uma nova abordagem baseada em perturbações múltiplas e progressivas em imagens de forma a capturar diferentes traços de filtragem mediana através do uso de métricas de qualidade de imagens. Essas medidas são utilizadas para construir um espaço de características discriminativo, capaz de classificar apropriadamente se uma imagem sofreu ou não borramento mediano. 1. Introduction The ever-growing availability of digital images resulting from the massive use of cheap digital cameras and social networks has allowed people to easily share information all over. With such a massive flood of information the question is how to tell the real from the fake. The old adage: one image is worth a thousand words no longer holds intact. Frequently people are mislead and innocently believe in what photographs depict. Therefore the development of reliable forensic detection tools are paramount. One form of detecting the presence of image tampering is through the analysis of artifacts left by the resampling operations. Popescu and Farid [Popescu and Farid 2004] noted that re-sampling operations use interpolation techniques and proposed an Expectation-Maximization technique for finding periodic samples of the image and detecting resampling operations. One particular problem of this technique is the assumption of a linear correlation of the pixels. As stated by Kirchner and Bohme [Kirchner and Bohme 2008], a non-linear filter such as the median filter can destroy these re-sampling artifacts by replacing each pixel with the median-valued pixel within a neighborhood. Given the use of median filtering operations for hiding traces of image doctoring, several researchers have tackled the problem of detecting it over the last years [Kirchner and Fridrich 2010, Yuan 2011, Chen et al. 2013]. Most of these methods assume that the median filtering has streaking artifacts and use them as proxy to detect filtering.

20 19 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica In this paper, we propose a median filtering detection algorithm based on the hypothesis that the median filtering streaking artifacts affect the image quality under multiscale filterings (filterings with different regions of interest) and over progressive perturbations (henceforth perturbations are defined as cascade-wise successive image filterings). We evaluate Image Quality Metrics (IQMs) upon perturbed images building a highly discriminative feature space for future classification. Experiments with compressed and uncompressed public datasets confirm the method s competitiveness without assuming anything about the underlying filtering process of the input images. 2. Proposed Method Most of the median filtering detection techniques proposed in the literature rely on artifacts known as streaking [Bovik 1987]. In median filtered images, the probability of 2 pixels in a given distance have the same value is high due to the nature of the median filtering: when the sliding window moves, the probability of the changed pixel being the median value of the new pixel grid in the translated window is high [Kirchner and Fridrich 2010]. For detecting median filtered images, we observe that an image that was never medianfiltered, when filtered for the first time, will exhibit a behavior different from the already filtered images after the same operation. We can make an analogy to text file compression in this case. When a text file is compressed for the first time, most often the file size decreases because there are redundancies in the text. However, when a second compression is applied to an already compressed file, chances are the file size will increase. This happens because there are much less redundant elements to compress, so the file size will increase compared to the previous compression. An opposite behavior happens in median-filtered images after filtering them again. In this case, the redundancy will increase because the streaking artifacts will be highlighted. This can be easily observed if one applies median filtering until idempotency. To detect such behavior, we perform n progressive and multi-scale perturbations on the image. These perturbations consist of multi-scale filters applied on the image progressively. We consider filtering windows of size 3 3, 5 5, 7 7 and 9 9. The rationale for using the multi-scale perturbations is that when an already filtered image is filtered once more using a different median filtering window, the streaking artifacts will be emphasized. When applied in succession (progressively) it tends to find groups of streaking pixels instead of just a few of them when considering just one scale as in previous approaches. By applying the median filtering in this way, the image quality will degrade differently from pristine images, so IQMs [Eskicioglu and Fisher 1995] can capture the traces of median filtering after the progressive and multiscale perturbations. Given an input image, we compare it to its multiple perturbation filtered version by using eight bivariate IQMs per perturbation and scale: Peak Signal to Noise Ratio, Structural Content, Average Difference, Maximum Difference, Normalized Cross Correlation, Normalized Absolute Error, Structural Similarity, and Mean Squared Error. The proposed method performs a set of perturbations by applying median filtering n times with w w window sizes and calculating q IQMs on each filtered image version. The filtered image is the input for the following filtering and we can use s windows (scales) with different sizes to perform the filtering. By comparing each filtering result with the input image using q IQMs, we can build a discriminative feature space for proper learning of a classifier by concatenating the q quality images calculated per filtered image. The feature vector has therefore s n q dimensions. The same is done to testing images and a classifier (such as Support Vector Machines) trained with the data from the training images can discriminate between the pristine and median filtered images.

21 Resumos estendidos 20 Figure 1 shows how the proposed method works. Figure 1. An image is filtered n times in different scales (s = 4) and eight IQMs are calculated (q = 8). The feature space comprises the fusion of n 8-d vectors created at each perturbation in four scales for each image. Any machine learning classifier can later be used to carve the decision boundary in the formed IQMs feature space. 3. Experiments For validating the proposed method and comparing it to the ones in literature, we have chosen a Cross-Dataset validation protocol in which we have training samples containing images in similar conditions and testing samples with a variety of conditions which can be seen as a real-world situation. The training datasets comprise images with almost similar lighting conditions, low resolution and the median filtered samples were blurred using one median filtering window size (i.e., 3 3). The compressed images training set contains 3,996 JPEG images from the Chinese Academy Image Tampering Database (CASIA) [Cas 2010]. The compressed images testing dataset is more complex and comprises 800 JPEG images collected with very different resolutions, taken from different cameras and smartphones. Also, the blurred images in the testing dataset were blurred with different median filtering implementations (MATLAB, OPENCV and GIMP) and different median window sizes. We used a similar configuration for a situation where compressed and uncompressed images can occur. In this case, we used the previous compressed dataset along with 2,773 uncompressed images for training from CASIA [Cas 2010] and 1,338 uncompressed images from UCID [Schaefer and Stich 2004] for testing. The experiments have two parts. First, we assess the choices for improving the proposed classifier such as the number of considered scales and perturbations for building up the feature vectors. Then the best configuration found during this validation step is used to compare it to existing methods in the literature (second part) considering compressed and uncompressed images. The minimal number n of perturbations of the proposed technique was found in statistical tests after randomly splitting the 3,996 images of the publicly-available CASIA [Cas 2010] dataset 10 times in training and testing sets (also known as 5 2 cross-validation). Since we are using this dataset for fine tuning the parameters of our method, it will be used only as a training dataset in Sec. 3 when comparing our method to others in the literature. That is why we chose to perform a cross-dataset validation being fair and closer to the actual forensic scenario one might face. Here, we characterize the images as described in Sec. 2 and train an SVM classifier with an RBF kernel, whose parameters are automatically learned during training according to the 5 2 cross-validation protocol used.

22 21 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica For validation, we performed two rounds of experiments: in the first one we used just one window w w for blurring, where w {3, 5, 7, 9} and vary the number of perturbations n in the interval 1 n 5. In the second round, we used a multiscale approach, where we use all of the four window sizes for filtering the images and vary only the perturbations. Table 1 shows the three best experiment results. Number of Perturbations Windows Result % ± , 5 5, 7 7, % ± , 5 5, 7 7, % ± 0.28 Table 1. Results in mean classification accuracy after a 5 2 cross-validation on CASIA dataset [Cas 2010]. The ANOVA statistical test results confirm that varying the number of windows and perturbations are statistically significant (p-value < 0.05) and these factors are correlated. Figure 2 show the results of Tukey tests for pairwise comparisons. 95% family wise confidence level 95% family wise confidence level Perturbations Window Window 1 3x3 window 2 5x5 window 3 7x7 window 4 9x9 window 5 All windows Differences in mean levels of perturbation (a) Differences in mean levels of window (b) Figure 2. (a) Tukey test pairwise comparison in factor perturbation (b) Tukey test pairwise comparison in factor window. As we can see on Fig. 2(a), there is no statistical difference when using three and four, three and five and four and five perturbations. However, there is significative difference when using more than one perturbation. In addition, varying the window sizes is statistically significant according to Fig. 2(b). The ANOVA test in the three best algorithms yielded a p-value of 0.79, which helps us to state that the accuracy difference between these techniques is not statistically significant. We chose to use the two last configurations in the second part of the experiments when comparing to the methods in the literature because the first one yielded slightly worse results. We now turn our attention to comparing the classification results of two of the three best approaches of the proposed technique with 128 and 96 dimensional feature vectors. We call these techniques, respectively, as FPMW (Four Perturbations, Multiple Windows) and TPMW (Three Perturbations, Multiple Windows). We compare them to the following state-of-the-art methods (1) Kirchner and Fridrich [Kirchner and Fridrich 2010] with T = 3 and second order Markov Chains as described in their work, yielding a 686-d feature vector (we call it SPAM), (2) Yuan [Yuan 2011] in 3 3 blocks and a 44-d feature vector (which we call MFF) and (3) Chen et al. [Chen et al. 2013] with parameters T =10, B=3 and K=2 and 56-dimensional feature vectors as described in their work (which we call GLF). We then used an SVM with RBF kernel from LibsVM [Chang and Lin 2011] whose parameters were learned during training using the LibSVM s built-in grid-search method. Table 2 shows the results for the compressed dataset and the McNemar s statistical test results between the

23 Resumos estendidos 22 best ranked technique and the others. Table 3 shows tests for the scenario with compressed and uncompressed images present during training and testing. According to Table 2, the proposed technique FPMW presents the best accuracy by correctly classifying 676 out of 800 test images while SPAM and GLF correctly classified 561 out of 800 images and 521 out of 800 images, respectively. Note that both SPAM and GLF present low specificities (42% and 31% respectively) in this dataset. In a forensic scenario, low specificity often means putting the blame on an innocent person and is undesirable. The second best technique was the proposed TPMW, which correctly classified 657 out of 800 images followed by MFF (561 out of 800 images). TPMW FPMW SPAM [Kirchner and Fridrich 2010] MFF[Yuan 2011] GLF[Chen et al. 2013] Accuracy 82.1% 84.5% 70.1% 70.1% 65.1% Sensitivity 92% 91% 98 % 88% 99% Specificity 72% 77% 42% 52% 31% Precision 76% 80% 62% 64% 59% Significant? yes - yes yes yes Table 2. Compressed dataset experiments results and McNemar s statistical tests comparing the best technique (FPMW) with others. TPMW and FPMW are variations of the proposed method discussed in Sec. 2. TPMW FPMW SPAM [Kirchner and Fridrich 2010] MFF[Yuan 2011] GLF[Chen et al. 2013] Accuracy 82.2% 80.8% 77.9 % 74.2% 79.9% Sensitivity 78.2% 74.4 % 68.3% 76.9% 90.9% Specificity 90.2% 91.5% 90.6 % 78.6% 76.8% Precision 88.9% 89.8% 87.9 % 78.3 % 79.7% Significant? - yes yes yes yes Table 3. Cross dataset experiment with compressed and uncompressed images and McNemar s statistical tests comparing the best technique (TPMW) with others. TPMW and FPMW are variations of the proposed method discussed in Sec. 2. Table 3 shows the proposed method performance compared to the ones in literature when dealing with compressed and uncompressed images simultaneously. In this case, TPMW presents the best accuracy correctly classifying 1,801 out of 2,138 images (remember that the test dataset now contains 800 compressed and 1338 uncompressed images). In sequence, the next top performers are FPMW, GLF, and SPAM. MFF presented the worst results (1,663 images correctly classified). Although the proposed methods perform well in these scenarios, there are situations where they are not top performers. This happens specially when the training and testing sets contain only images without any compression. Considering a cross-dataset scenario where only uncompressed images are used for training and testing, the proposed methods present smaller accuracies (TPMW with 87.5%, FPMW with 87.8%) than its counterparts (GLF with 99.7%, MFF with 99.9% and SPAM with 99.7%). This is not a problem since in practice it is unlikely that only training and testing images would be available. 4. Conclusion In this paper, we presented a novel approach to forensically detect median blurring traces on digital images. Our technique is different from others as it perturbs the image by blurring it multiple times with different window sizes (filtering intensities) building a discriminative feature for later decision making by using image quality metrics. We showed the method s reliability when tested with diverse images on a cross-dataset protocol which we believe to be a more real-world situation. The experiments and results corroborate our initial hypothesis that multiple perturbations with different intensities capture the telltales

24 23 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica left behind by median filtering algorithms in a competitive way with some existing methods. As future work, we will focus our study on more image quality metrics that can be combined to the proposed feature vector, include more median blurring intensities in the dataset, study the proposed approach on different image compression settings, perform fusion of classifiers and study the proposed method under the median filtering anti-forensic operation [Fontani and Barni 2012]. References (2010). Casia tampered image detection evaluation database. database avaiable at forensics.idealtest.org/. Bovik, A. (1987). Streaking in median filtered images. IEEE Transactions on Acoustic Speech and Signal Processing, 35(4): Chang, C.-C. and Lin, C.-J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology, 2(27):27:1 27:27. software available at cjlin/libsvm. Chen, C., Ni, J., and Huang, J. (to appear in December, 2013). Blind detection of median filtering in digital images: A difference domain based approach. IEEE Transactions on Image Processing, 22(12): Eskicioglu, A. and Fisher, P. (1995). Image quality measures and their performance. IEEE Transactions on Communications, 43(12): Fontani, M. and Barni, M. (2012). Hiding traces of median filtering in digital images. In European Signal Processing Conference (EUSIPCO), pages Kirchner, M. and Bohme, R. (2008). Hiding traces of resampling in digital images. IEEE Transactions on Information Forensics and Security (TIFS), 3(4): Kirchner, M. and Fridrich, J. (2010). On detection of median filtering in digital images. In SPIE Media Forensics and Security II, pages Popescu, A. and Farid, H. (2004). Statistical tools for digital forensics. In ACM Intl. Workshop on Information Hiding (IH), pages Schaefer, G. and Stich, M. (2004). Ucid - an uncompressed colour image database. In Storage and Retrieval Methods and Applications for Multimedia, volume 5307 of Proceedings of SPIE, pages Yuan, H.-D. (2011). Blind forensics of median filtering in digital images. IEEE Transactions on Information Forensics and Security (TIFS), 6(4):

25 Resumos estendidos 24 A Software Products Line Solution Based in Components and Aspects for the E-commerce Domain Raphael Porreca Azzolini 1, Cecília Mary Fischer Rubira 1 1 Institute of Computing - Campinas University (UNICAMP) - Campinas - SP - Brazil raphael.azzolini@students.ic.unicamp.br, cmrubira@ic.unicamp.br Abstract. This work presents the implementation of a Software Products Line for the e-commerce domain, a Web domain into high and constant growth in the information technology market. This implementation is made according to the COSMOS*-VP, a components and aspects model responsible for architectural scattering minimization and support in a modular form crosscutting features modelling. It is expected to study the efficiency of the COSMOS*-VP in real, modern, and very complex case study. Furthermore, this work aims to provide a solution to the e-commerce systems development, which requires Web applications with similar variants, but customizable according to the needs of each client. Resumo. Este trabalho apresenta a implementação de uma Linha de Produtos de Software para o domínio de e-commerce, um domínio Web em alto e constante crescimento no mercado de tecnologia da informação. Esta implementação é feita de acordo com o modelo COSMOS*-VP, um modelo de componentes e aspectos responsável por minimizar o espalhamento da arquitetura e apoiar de forma modular a modelagem de características transversais. Espera-se estudar a eficiência do COSMOS*-VP em um caso de estudo real, moderno e bastante complexo. Além disso, este trabalho pretende oferecer uma solução para o desenvolvimento de sistemas de e-commerce, que requerem variantes similares mas customizáveis de acordo com as necessidades de cada cliente. 1. Introduction This work presents the development of a Software Products Line (SPL) for the e- commerce domain. This domain was chosen due the fact of it is a modern case study because of its large growth at the global market. In Brazil, the growth of the area in the last ten years was 1400% [Exame.com 2013] and the sales in 2012 was over R$22 billion [IDGNow! 2013]. It is a complex case study because leads integration with other systems, as shipping and payment services; has the need of high security, because of the customers personal data and payment service; and demands efficient user experience [E-Commerce News 2012]. Clements and Northrop [Clements and Northrop 2002] define SPL as set of software systems that share commons features and have distinct features in order to satisfy a market s segment. With this set and the software reuse [Sommerville 2010] it is possible to develop customized products at a low cost [Pohl et al. 2005]. Despite it s advantages, the SPL evolution can be impaired by the inefficiency of variability mechanisms

26 25 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica to accommodate changes, that can lead to several undesirable stability consequences [Figueiredo et al. 2008]. To support the SPL architectures evolution to lead with the variability, modularizing the architectural variability and the crosscutting concerns into products lines, it was created the COSMOS*-VP model [Tizzei 2012], an extension of the COSMOS* model [Gayard et al. 2008] that integrates components and aspects. In his work, Tizzei [Tizzei 2012] shows that the COSMOS-*VP model is better than the COSMOS* model, increasing the evolution ability of an architecture. However, he made a empirical study with one simple case study. Despite of what was describe in Tizzei s work, the COSMOS*-VP still needs a more complex case study that represents a real application, that it is made by the work here presented with the e-commerce domain. The possibility to use the COSMOS*-VP model for implementing a e-commerce SPL can improve the development of this software systems family reducing the costs of the development and offering more stable software systems, since the software reuse will offer components that have been already tested, used and fixed [Sommerville 2010]. This paper is organized in six Sections. Section 2 presents the related work; Section 3 discusses the e-commerce domain; Section 4 discusses the SPL development method; Section 5 presents the SPL implementation; Section 6 discusses the expected results; finally the Section 7 will present the conclusions of this paper. 2. Related Work Laguna and Hernandez [Laguna and Hernandez 2010] present a e-commerce SPL development for the.net platform. Unlike the work here presented, it is not used component and aspects techniques for the implementation of the SPL. Other difference is that the SPL of the presented work is implemented with Java programming language. The study of the SPL evolution using aspect oriented implementation is presented by Figueiredo et al. [Figueiredo et al. 2008] and the study of the SPL evolution integrating components and aspects is presented by Tizzei [Tizzei 2012]. These two works do not present the development of a real and complex application as this work presents with the e-commerce domain. 3. The E-commerce Domain The e-commerce domain is typical problem that can be solved with the SPL approach, it has a set of similar software systems that share commons features that can be reused, it also has distinct features that makes them different from each other. In many cases, the need to customize one e-commerce system makes necessary the development of a new product without the software reuse, that can be hindered by inefficiency of variability mechanisms. The buying process in a e-commerce system is the same or similar in every kind of online store that can be found in the Internet, this process is shown at Figure 1. It is important that all e-commerce systems have a secure environment with public and private keys [Diffie and Hellman 1976][Rivest et al. 1978] at least in the operations market in the Figure 1.

27 Resumos estendidos 26 Figure 1. The e-commerce buying process flowchart The payment process is mediated by a payment gateway, responsible for communication between the bank that receives the customer s payment and the store s bank. The e-commerce system must communicate with the payment gateway through a webservice. First, the e-commerce system sends the payment information to the payment gateway; Secondly, the payment gateway informs that received the information; and finally, when the payment is made or cancelled, the payment gateway makes the necessary bank transactions and informs the e-commerce system about the confirmation or cancellation of the order s payment. 4. The SPL Development Methodology The first step of the SPL development was the e-commerce features survey, this was made with the analysis of four online stores: a Brazilian store that sells many kinds of products; a Brazilian store specialized in female fashion products; a U.S. store that sells many kinds of products; and a U.S. store specialized in supplements and health products. One of the goals of this work is to develop these four e-commerce systems using the SPL that will result of this study. With this survey was possible to analyze what are the common and variable features of the e-commerce systems according to the type of product sold. Furthermore, it was possible to analyze the common and variable features according to the country of the store. A feature model was built with mandatory, optional, alternative and OR-feature features [Czarnecki and Eisenecker 2000]. The main defined features were: product, shopping basket, order, products search, customer, dependability, and marketing. All these features are mandatory, except marketing that is optional, and have subfeatures. The Figure 2 shows the initial SPL feature model. The initial feature model was transformed according to the Aspect-oriented Feature-Architecture Mapping (AO-FArM) method [Tizzei 2012]. There are four steps to transform the feature model in SPL architecture: (i) remove features not related with the architecture and resolve the non-functional features; (ii) transform based on the architecture requirements; (iii) transform based on the features interactive relations; (iv) transform based on the hierarchical relationships. After the execution of these steps, the dependability feature was replaced by architectural features (risk analysis, password encryption, transport layer security, session control, load balance) and new features were

28 27 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Figure 2. The initial SPL feature model added to the model, such as logging, persistence, and exception handling. This feature model generated a initial architectural model, where the features were transformed in components, classes or methods. Five refinement steps from the AO-FArM were made to obtain the SPL architecture: (i) identify the base and crosscuting interfaces; (ii) specify the base and crosscuting interfaces operations; (iii) assess legacy components; (iv) implement/refactor the base and crosscuting components; (v) specify and implement the base and crosscuting connectors. The steps (iii) and (iv) were not executed because there was no legacy components. After the execution of the AO-FArM, the components of the architecture started to be implemented as described in the Section The SPL implementation This work is actually in the implementation step. It is being developed the base and crosscuting components defined by the COSMOS*-VP method. The SPL is being developed with the Java Development Kit 7 and AspectJ in the Eclipse IDE with the Apache Maven builder. Each component of the architecture is a Maven Module and each connector is developed in a package of the component with the required interface the connector will provide. Every component has a connection with the data type layer, that is composed by the data type interfaces ant its factory interfaces. Most part of these interfaces are implemented in the persistence component, but they can be implemented by other components, like the PaymentMethod interface that is implemented by the specific payment components, like credit card component or debit component. The interfaces methods of the components are being tested with JUnit framework. The persistence tests uses the framework with HSQLDB for database interaction and the other components tests use Mockito for mocking external methods.

29 Resumos estendidos 28 The view layer has not been implemented yet, but it will be made with JavaServer Faces (JSF) and will be tested with Selenium. 6. Expected Results Two analysis will be made: analyse if the COSMOS*-VP has a better evolution ability then the COSMOS* for the e-commercer domain; analyse if the implemented SPL allows customizations that are not possible with e-commerce frameworks known in the market. The first results will be collected with the same analysis made by Figueiredo et al. [Figueiredo et al. 2008]: changing impact [Yau and Collofello 1985]; modularity [Sant Anna et al. 2003]; and features dependency [Greenwood et al. 2007]. It is expected that the COSMOS*-VP implementation has better results than the COMOS* implementation. The second results will be collected comparing the features of the SPL of this work with e-commerce framework available in the market. It is expected that the SPL proves more flexible in customizing of the e-commerce products in relation to these frameworks. 7. Conclusion This paper presented a Master s degree work that pretends to develop SPL for e-commerce systems using the integration of components and aspects. As result of this implementation it is expected a validation of the model proposed by Tizzei [Tizzei 2012]. The code implemented is being made available to the community for continuity of the support for developing e-commerce systems and continuous evolution of the SPL. This work will let other interesting studies opened for future work. Web services for payment and shipping services, security protocols for personal data storage and payment transactions, techniques for better availability and stability are just some examples of these studies. References Clements, P. and Northrop, L. (2002). Software product lines: practices and patterns, volume 59. Addison-Wesley Reading. Czarnecki, K. and Eisenecker, U. W. (2000). Generative Programming: Methods, Tools, and Applications. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA. Diffie, W. and Hellman, M. (1976). New directions in cryptography. Information Theory, IEEE Transactions on, 22(6): E-Commerce News (2012). 38% abandonam uma loja online após 4 segundos de espera. Disponível em < abandonam-uma-loja-online-apos-4-segundos-de-espera>. Acesso em: 30 set Exame.com (2013). E-commerce pode chegar a R$ 45 bi em Disponível em < Acesso em: 30 set Figueiredo, E., Cacho, N., Sant Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F., Khan, S., Castor Filho, F., and Dantas, F. (2008). Evolving software

30 29 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica product lines with aspects: an empirical study on design stability. In Proceedings of the 30th International Conference on Software Engineering, ICSE 08, pages , New York, NY, USA. ACM. Gayard, L. A., Rubira, C. M. F., and de Castro Guerra, P. A. (2008). COSMOS*: a COmponent System MOdel for Software Architectures. Technical Report IC-08-04, Institute of Computing, University of Campinas. Greenwood, P., Bartolomei, T., Figueiredo, E., Dosea, M., Garcia, A., Cacho, N., Sant Anna, C., Soares, S., Borba, P., Kulesza, U., and Rashid, A. (2007). On the impact of aspectual decompositions on design stability: An empirical study. In Ernst, E., editor, ECOOP Object-Oriented Programming, volume 4609 of Lecture Notes in Computer Science, pages Springer Berlin Heidelberg. IDGNow! (2013). E-commerce no Brasil cresce 20% e fatura R$ 22,5 bilhões em Disponível em < Acesso em: 30 set Laguna, M. A. and Hernandez, C. (2010). A software product line approach for e- commerce systems IEEE Ninth International Conference on e-business Engineering, 0: Pohl, K., Böckle, G., and Linden, F. J. v. d. (2005). Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus, NJ, USA. Rivest, R. L., Shamir, A., and Adleman, L. (1978). A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM, 21(2): Sant Anna, C., Garcia, A., Chavez, C., Lucena, C., and Von Staa, A. (2003). On the reuse and maintenance of aspect-oriented software: An assessment framework. In Proceedings of Brazilian Symposium on Software Engineering, pages Sommerville, I. (2010). Software Engineering. Addison-Wesley, Harlow, England, 9 edition. Tizzei, L. P. (2012). Evolução de Arquiteturas de Linhas de Produtos baseadas em Componentes e Aspectos. PhD thesis, Instituto de Computação, Universidade Estadual de Campinas. Yau, S. and Collofello, J. (1985). Design stability measures for software maintenance. Software Engineering, IEEE Transactions on, SE-11(9):

31 Resumos estendidos 30 An Architecture for Dynamic Self-Adaptation in Workflows Sheila K. Venero Ferro 1, Cecilia Mary Fischer Rubira 1 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) Av. Albert Einstein, 1251 Cidade Universitária Campinas (SP) - Brasil {ra144653,cmrubira}@ic.unicamp.br Abstract. As the technology is reaching high levels of complexity, there is an inevitable need to expand the dynamic behavior of the computational solutions in organizations. However, one of the drawbacks of the workflow platforms is that they cannot dynamically adapt their processes according to its environment or context. The aim of this research is to develop an architecture for workflow management systems that provides means of flexibility to dynamically adapt the workflows during runtime. In order to validate our solution, it will be conducted a case study in nursing processes to show a practical applicability of the proposed adaptive architecture. Resumo. Conforme a tecnologia atinge níveis mais elevados de complexidade, existe a necessidade de expandir o comportamento dinâmico das soluções computacionais nas organizações. No entanto, um dos maiores problemas dos sistemas de workflow atuais é que eles não podem adaptar dinamicamente seus processos de acordo com o seu meio ambiente ou contexto. O objetivo desta pesquisa é desenvolver uma arquitetura para sistemas de gerenciamento de workflows que forneça suficiente flexibilidade para adaptar dinamicamente os fluxos de trabalho em tempo de execução. A fim de validar a solução, será realizado um estudo de caso no processo de enfermagem para mostrar a aplicabilidade prática da arquitetura proposta. 1. Introduction Workflow Management Systems (WFMSs) provide tools to coordinate business processes, allowing organizations to model and control their processes [1]. In addition, some workflow management systems also allow to measure and analyze the execution so that users can improve their processes. Most of workflow systems also integrate other IT applications and tools [2]. These technologies partially or totally automate business processes. Computer programs perform tasks such as create, process, manage, and provide information, enforcing rules and politics that were previously implemented by humans [3]. Workflow systems have become the major technology to assist the automation of business processes in various domains. There exist several commercial workflow management systems that not only deal with business processes but also with scientific processes. In general, the systems that are designed to support business processes consist of a number of activities that can be executed automatically, manually, or a combination of both. They also take care of the distribution and assignment of work items to employees. In the other hand, the systems that support scientific applications often work with

32 31 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica a large and complex set of computations and data analysis. These computations might comprise thousands of steps in distributed environments. In addition to automation, they provide information for reproducibility, result derivation and result sharing among collaborators [4]. Traditional Workflows Management Systems usually work with well-structured processes and typically for predictable and repetitive activities [5]. But modern processes often are required to be flexible and adaptive in order to reflect foreseeable or even unforeseeable changes in the environment. Thus, WFMSs face some limitations in means of adaptability, they cannot dynamically adapt business process during runtime which is highly necessary because of the dynamic and continuously changing environment. In particular, this research project proposes a solution to provide adaptability in workflow management systems so they can be easier changed to suit new conditions, imposed by changes in the environment. Solving this drawback, they would be able to adapt the workflow execution to cope with unexpected situations and conditions. 2. Literature Review In order to discover consistent bibliographic information, and understand the current State of Art of the topic of interest, it has been chose to do a Systematic Review that is a method to do a literature reviews. Systematic reviews consist of a set of scientific methods that try to limit the systematic error in order to identify, analyze, and synthesize better all relevant studies of a given subject or a particular issue [6]. The methodology used in this paper to perform the systematic review is based on strategies of the framework PRISMA (Preferred Reporting Items for Systematic Reviews and Meta-Analyses). The main objective of PRISMA is to help researchers to improve the reporting of systematic reviews and meta-analyses. This process has four main stages: Identification, screening, eligibility, and included [7]. In this research, the main topic identified was "dynamic adaptation in workflows". In this paper, we define dynamic adaptation as the ability of workflow processes to change or react according to its environment or context. In order to find relevant information to thoroughly understand the research topic, it was combined using Boolean operators the keywords "workflows" or "business process" with the related concepts of "adaptation" and dynamic, in addition to "workflow system". These keywords were searched in major databases of the area of Computer Science: IEEE, ACM and Science Direct. To refine the search, it was predetermined that the main concepts such as "workflow or business process should be contained in the title field and the concepts related to "dynamic adaptation" should be contained in abstracts. As PRISMA suggests, Tables 1, 2 and 3 show the detailed queries for the IEEE database.

33 Resumos estendidos 32 Main concept: Workflow Table 1. Search query for Workflow as a main concept. (("Document Title":workflow) AND ("Abstract":adapt* OR "Abstract":reschedul* OR "Abstract":reconfigur* OR "Abstract":"self-adaptive workflow" OR "Abstract":"dynamic adaptation" OR "Abstract":"context-aware" OR "Abstract":"workflow systems" OR "Abstract":"agent" OR "Abstract":"workflow architecture" OR "Abstract":"auto adaptation" OR "Abstract":"auto management" OR "Abstract":"readjusting workflows" OR "Abstract":"knowledge based process management" OR "Abstract":" workflow management software")) Results: 712 papers Table 2. Search query for Business Process as a main concept. Main concept:: Business Process (("Document Title":"business process") AND ("Abstract":adapt* OR "Abstract":reschedul* OR "Abstract":reconfigur* OR "Abstract":"self-adaptive business process" OR "Abstract":"dynamic adaptation" OR "Abstract":"contextaware" OR "Abstract":"business process systems" OR "Abstract":"agent" OR "Abstract":"business process architecture" OR "Abstract":"auto adaptation" OR "Abstract":"auto management" OR "Abstract":"readjusting business process" OR "Abstract":"knowledge based process management" OR "Abstract":"business process management software")) Results:: 112 papers Complete search Table 3. Complete query for the research. ((("Document Title":workflow) OR ("Document Title":"business process")) AND ("Abstract":adapt* OR "Abstract":reschedul* OR "Abstract":reconfigur* OR "Abstract":"self-adaptive workflow" OR "Abstract":"self-adaptive business process" OR "Abstract":"dynamic adaptation" OR "Abstract":"context-aware" OR "Abstract":"workflow systems" OR "Abstract":"business process systems" OR "Abstract":"agent" OR "Abstract":"workflow architecture" OR "Abstract":"business process architecture" OR "Abstract":"auto adaptation" OR "Abstract":"auto management" OR "Abstract":"readjusting workflows" OR "Abstract":"readjusting business process" OR "Abstract":"knowledge based process management" OR "Abstract":"workflow management software" OR "Abstract":"business process management software"))) Results: 824 papers

34 33 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica The complete query in the three databases has returned 1229 papers. From this result, we have delimited the date for the search from January 2003 to May 2014, remaining 1040 papers. After elimination by title, 349 papers were remained. Then 138 articles were eliminated after reading their summaries, remaining 211 papers. In the next phase, by thematic focus 171 papers were eliminated. Thus, applying the four phases of The PRISMA framework, the search resulted in 40 primary papers for this literature review. The Figure 1 below summarizes the four phases of PRISMA [7]. Figure 1. PRISMA's Diagram From the literature review, it could be seen that the subject has gained interest over the years, but there still are many gaps to be studied. At beginning of the century, approaches deal processes adaptation by making models to handle unexpected changes. Some others also use models but they add ECA rules (Event-Condition-Action) [8]. In most recent years, workflow systems had gained a lot of attention in the scientific domain, there are many studies that treat adaptation as a performance issue in software application such as resource allocation and discovery of services. This research does not treat adaptation in the performance level but in the logical level. In comparison, there is a bigger quantity of approaches that treat adaptation at the level of performance than at the logical level. Even though, there exist architectures that deal with dynamic adaptation, there are few of architectures that treat selfadaptation according to the environment or context. Thus, this research will focus in selfadaptation for dynamic for workflows as a logical problem.

35 Resumos estendidos Objectives 3.1. General Objective The overall aim of this proposal is to develop an architecture for Dynamic Selfadaptation in workflows that provides sufficient flexibility for dynamic adaptation in processes. This research will focus in the adaptive workflow support layer Specific Objectives The following specific objectives are defined to meet the general aim: Understand the major approaches that deal with dynamic adaptation in business processes/ workflows Extend the characteristics of architectures with facilities for dynamic adaptation according to the context. Implement the solution using the most appropriate technologies Validate the solution by means of a case study. Analyze the solution and compare with other existing solutions. 4. Case Study A medical procedure could be seen as a workflow since it is a set of activities that are in total or in partial order according to their results. A medical treatment is a typical example of flexible process in which there could happen any unexpected changes. For example, when a patient goes to a hospital, he must register and then have a first visit to a doctor. The doctor will make a superficial diagnosis and send him to do some examinations. According to the result of those examinations, the doctor will make a final diagnosis and a prescription. During this process, situations like active health problems, active medications, allergies, adverse reactions, recent laboratory results, and vitals must be monitored all the process, computationally speaking at running time. These situations are unforeseeable and unique for each different patient. Workflow technology can deliver the right information to the right person and at the right time reflecting all the changes. And if this technology could adapt the processes dynamically according to the environment or context they also would help in the decision making process and certainly will improve the efficiency of the healthcare professionals to respond to unexpected changes. There is an extensive research about medical processes in which a set of activities has been defined. Clinicians have developed and published a very large number of evidence-based medical procedures to disseminate the best practices. In order to validate the proposed architecture it will be made a case of study in the healthcare domain. In principle, the architecture could be applied in nursing processes. There are many guidelines that define activities that should be perform in a nursing workflow. The nursing process orients the professionals in their activities and help them in the decision making process. The PROCENF is a system developed for University of Sao Paulo that supports the nursing processes. This system assists and guides nurses during their activities. It follows an Assistance Systematic process defined by the nurse Wanda Horta in 70s.

36 35 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica PROCENF uses internationally well recognized standards such as NANDA, NIC and NOC. In the last year, hospitals of both USP and UNICAMP University have been implemented. 5. Progress of the Project This research is in the final stage of the literature review. The next step is designing the architecture that will provide sufficient flexibility to adapt workflows behavior according to changes on its operating environment. The architecture will use an approach based on the MAPE-K model (Monitor, analyze, plan, execute and Knowledge). It will monitor the executing workflow and the environment, analyze and reason the new conditions, plan a new workflow according to the adaptation rules or conditions, execute the plan by reconfiguring the workflow and, finally, generate or update knowledge to generate new rules. References [1] A. Sheth and K. J. Kochut, Workflow applications to research agenda: Scalable and dynamic work coordination and collaboration systems, in In NAT0-ASI Advances in Workflow Management Systems and Interoperability, [2] D. Hollingsworth. Workflow Management Coalition - The Workflow Reference Model. Technical report, Workflow Management Coalition, Jan [3] R. Medina-Mora, T. Winograd, and R. Flores, Action workflow as the enterprise integration technology, in Bulletin of the Technical Committee on Data Engineering, IEEE Computer Society, June [4] Y. Gil, E. Deelman, M. Ellisman, T. Fahringer, G. Fox, D. Gannon, C. Goble, M. Livny, L. Moreau, and J. Myers, Examining the challenges of scientific workflows, Computer, vol. 40, no. 12, pp , [5] ShuiGuang Deng, Zhen Yu, ZhaoHui Wu, and LiCan Huang Enhancement of workflow flexibility by composing activities at run-time, in Proceedings of the 2004 ACM symposium on Applied computing (SAC '04). ACM, New York, NY, USA, [6] Petticrew, Mark e Robers, Helen, Systematic reviews in the social sciences: A pratical guide, Oxford, United Kingdom: Blackwell Publishing, [7] Moher, David; Liberati, Alessandro; Tetzlaff, Jennifer et al., Preferred reporting items for systematic reviews and meta-analyses: the PRISMA statement., in PLoS Medicine, v. 339, n. 7, p. 6, [8] Klaus R. Dittrich, Stella Gatziu, The Active Database Management System Manifesto: A Rule base of ADBMS Features, in ACM SIGMOD 1996.

37 Resumos estendidos 36 Coloração de Arestas Semiforte de Grafos Split Aloísio de Menezes Vilas-Bôas 1, Célia Picinin de Mello 1 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) Caixa Postal Campinas SP Brasil aloisiovilasboas@gmail.com, celia@ic.unicamp.br Abstract. An adjacent strong edge colouring of a simple graph G is an edge colouring of G if for any two adjacent vertices u, v, the set of colours assigned to the set of edges incident to u differs from the set of colours assigned to the set of edges incident to v. The adjacent strong chromatic index of G is the smallest number of colours such that G admits an adjacent strong edge colouring. In this note, we determine the adjacent strong chromatic index of some split graphs. Resumo. Uma coloração de arestas semiforte de um grafo simples G é uma coloração de arestas onde para quaisquer vértices adjacentes u, v de G, o conjunto das cores das arestas incidentes em u é diferente do conjunto das cores das arestas incidentes em v. O índice cromático semiforte de G é o menor número de cores para o qual G admite uma coloração de arestas semiforte. Neste trabalho determinamos o índice cromático semiforte de algumas famílias de grafos split. 1. Introdução Neste trabalho, G = (V (G), E(G)) denota um grafo simples e C um conjunto de cores. Uma atribuição π : E(G) C é uma coloração de arestas de G se a arestas adjacentes são atribuídas cores distintas. O rótulo, L π (v), de um vértice v de G é o conjunto formado pelas cores atribuídas por π às arestas que incidentes em v. Se para cada aresta uv de G, L π (u) L π (v), π é uma coloração de arestas semiforte de G. O número mínimo de cores, χ (G), para o qual G admite uma coloração de arestas π é denominado índice cromático de G. Se π é semiforte, este número é denominado índice cromático semiforte e denotado por χ a(g). A coloração de arestas semiforte foi introduzida em 2002 por Zhang et al. [9] e posteriormente investigada por diversos pesquisadores [1, 4, 10]. Na figura 1 exibimos um grafo G e uma coloração de arestas semiforte π de G. O conjunto associado a cada vértice v de G é L π (v) = C \L π (v). {2} 1 {3} 3 2 {1} 2 {1} 3 {3} 1 {2} G Figura 1. Um grafo G com χ a (G) = 3. Desde que toda coloração de arestas semiforte é uma coloração de arestas, temos χ a(g) χ (G). Logo, por Vizing [8], χ a(g) (G). No artigo seminal, os autores

38 37 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica afirmaram que se os graus de quaisquer dois vértices adjacentes de G forem distintos, χ a(g) = (G) e provaram que se G possuir pelo menos dois vértices adjacentes com grau máximo, então χ a(g) (G) + 1. Além disso, formularam a seguinte conjectura. Conjectura 1 Se G é um grafo simples, conexo, com pelo menos três vértices e não isomorfo a C 5, então χ a(g) (G) + 2. Note que χ a(c 5 ) = 5 = (C 5 ) + 3. A conjectura 1 continua aberta, porém foi comprovada para várias classes de grafos [1, 4, 9, 10]. Em 2009, Zhang et al. [10] mostraram que o índice cromático semiforte e o número cromático total de grafos regulares estão fortemente relacionados. Uma coloração total de G, τ : E(G) V (G) C, é uma atribuição de cores aos elementos (vértices e arestas) de G, onde para cada par de elementos p e q adjacentes ou incidentes, τ(p) τ(q). O número cromático total de G, χ T (G), é menor número de cores para o qual G admite uma coloração total. Note que para um grafo G com grau máximo (G), χ T (G) (G) + 1. A Conjectura da Coloração Total afirma que para todo grafo simples G, χ T (G) (G) + 2 [2]. Um grafo G é regular se todos os vértices de G têm o mesmo grau. Observe que se G é um grafo regular, χ a(g) (G) + 1. Zhang et al. provaram que se G é um grafo regular conexo com pelo menos três vértices, então χ a(g) = (G) + 1 se e somente se χ T (G) = (G)+1. Logo, se G um grafo regular tal que χ T (G) (G)+2, então χ a(g) (G) + 2. Portanto, para provar que χ a(g) = (G) + 2, basta exibir uma coloração de arestas semiforte com (G) + 2 cores. Dessa forma, diversas classes de grafos regulares têm seu índice cromático semiforte determinado tais como grafos completos, ciclos, bipartidos completos regulares, hipercubos e potências de ciclos. Na seção 2 apresentamos os resultados que obtivemos em relação à coloração de arestas semiforte para os grafos split, um classe que contém grafos não regulares. 2. Grafos Split Um grafo é split se o conjunto de seus vértices admite uma partição em uma clique Q e em um conjunto independente S. Os grafos split têm sido amplamente estudados desde a sua definição em 1977 por Földes e Hammer [6]. Diversos problemas combinatoriais reconhecidamente difíceis possuem soluções polinomiais nesta classe [5, 6, 7]. Porém, os problemas da coloração de arestas e da coloração total não estão solucionados. Os grafos completos são os únicos grafos split regulares. Seja G um grafo completo com pelo menos três vértices. Neste caso, temos { (G) + 1, para V (G) ímpar; χ a(g) = χ T (G) = (G) + 2, caso contrário. Nesta seção, denotamos um grafo split G com partição (Q, S) por G = [Q, S]. Note que se G não é isomorfo a um grafo completo, podemos considerar Q maximal. Observação 1 Seja G = [Q, S] um grafo split não isomorfo a um grafo completo e π uma coloração de arestas de G. Para provar que π é semiforte, basta mostrar que L π (u i ) L π (u j ), para u i, u j Q.

39 Resumos estendidos 38 Prova: Seja G = [Q, S] um grafo split não isomorfo a um grafo completo. Suponha Q maximal. Seja u Q e v S. Então, d G (u) = Q 1 + k onde k, 0 k S, representa o número de vértices em S que são adjacentes a u e d G (u) o grau de u em G. Logo, d G (u) Q 1. Desde que Q é maximal, d G (v) Q 1. Temos d G (u) = d G (v) somente se ambos possuem grau igual a Q 1. Neste caso, u não é adjacente a vértices em S. Portanto, L π (u) L π (v) para u e v adjacentes com u Q e v S. Concluímos então que π é semiforte se e somente se os rótulos dos vértices em Q são dois a dois distintos. Teorema 1 Seja G = [Q, S] um grafo split com d G (u) = (G) para u Q. Se χ T (G) = (G) + 1, então χ a(g) = (G) + 1. Prova: Se G = K V (G), então χ a(g) = χ T (G). Seja G = K V (G) com Q maximal. Então, Q 2 e G possui pelo menos dois vértices adjacentes com grau (G). Portanto, χ a(g) (G) + 1. Seja τ uma coloração total de G com (G)+1 cores e π a restrição de τ às arestas de G. Por hipótese, d G (u) = (G) para u Q. Logo, L π (u) = {τ(u)}. Desde que τ é uma coloração total de G, temos que L π (u) L π (v) para u, v Q. Pela observação 1 temos que π é uma coloração de arestas semiforte de G com (G) + 1 cores e portanto χ a(g) = (G) + 1. Para finalizar mostramos, na sequência, duas famílias de grafos split tratadas neste trabalho. Inicialmente, associamos a um grafo split G = [Q, S], um grafo bipartido B G = [Q, S], com bipartição [Q, S], onde V (B G ) = V (G) e E(B G ) = E(G) \ {uv, u, v Q}. Denotamos por d(q) = max{d B (u) u Q} e por d(s) = max{d B (v) v S}. Portanto, (B G ) = max{d(q), d(s)} e (G) = Q 1 + d(q). Chen et al. [3] mostram que se d(q) d(s) para um grafo split G = [Q, S], então χ T (G) = (G) + 1. Utilizando a observação 1 e a técnica utilizada por esses autores, mostramos que essa condição é também suficiente para garantir que χ a(g) (G) + 1. Teorema 2 Seja G = [Q, S] um grafo split. Se d(q) d(s), então χ a(g) (G) + 1. Esboço da prova: Construímos um coloração de arestas semiforte π de G com (G) + 1 cores. Desde que d(q) d(s), temos (G) = (G[Q]) + d(q). Seja π 1 uma coloração de arestas de B G com (B G ) = d(q) cores. Seja π 2 uma coloração de arestas semiforte de G[Q] com (G[Q]) + 1 cores novas se Q é ímpar, e com (G[Q]) + 2 cores novas se Q é par e Q > 2. (O caso Q 2 foi tratado a parte.) Quando Q é par, L π2 (u) = 2 para u Q. Seja c uma cor atribuída por π 1. Neste caso, para cada aresta uv B G tal que π 1 (uv) = c, escolhemos convenientemente uma cor x L π2 (u) e definimos π 1 (uv) = x. Seja π = π 1 quando restrito B G e π = π 2 quando restrito a G[Q]. O elemento de L π (v) que pertence a L π2 (v) distingue o rótulo de v dos rótulos dos demais vértices em Q. Logo, π é semiforte. A outra classe de grafos que tratamos é a formada pelos grafos que são simultaneamente split e indiferença, os split-indiferença. Um grafo é indiferença se é o grafo interseção de intervalos unitários da reta. Um grafo split-indiferença G = [Q, S] possui d(q) 2 e d(s) d(q). Verificamos a conjectura 1 para os grafos split-indiferença.

40 39 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Determinamos o índice cromático semiforte para grafos G split-indiferença quando G possui vértice universal. Se G não possui vértice universal, fornecemos condições suficientes para que χ a(g) seja igual a (G) + 1 e conjecturamos χ a(g) = (G) + 2 caso contrário. Para comparar os valores de χ a(g) e χ T (G), exibimos na segunda coluna da tabela 1, os valores de χ a(g) que obtivemos no caso em que um grafo split-indiferença G é a união de dois grafos completos G[A] e G[B] tal que G[A] \ G[B] = K 1 e A e B são conjuntos de vértices e na terceira coluna os valores conhecidos de χ T (G). Restrições χ a(g) χ T (G) A B = 1 (G) (G) A B (G)+1 (G) + 1 (G) (G)+1 < A B 3 (G)+1 (G) + 1 (G) A B > 3 (G)+1 (G) + 2 (G) Tabela 1. Os valores de χ a (G) e χ T (G) dependem da cardinalidade de A B. Referências [1] P. N. Balister, E. Gyori, J. Lehel, and R. H. Schelp. Adjacent vertex distinguishing edgecolorings. SIAM J. Discrete Math, 21(1): , [2] M. Behzad. Graphs and their chromatic numbers. PhD thesis, Michigan State University, [3] B.-L. Chen, H.-L. Fu, and M. T. Ko. Total chromatic number and chromatic index of split graphs. Journal of Combinatorial Mathematics and Combinatorial Computing, 17: , [4] M. Chen and X. Guo. Adjacent vertex-distinguishing edge and total chromatic numbers of hypercubes. Inf. Process. Lett., 109(12): , May [5] M. Farber. Independent domination in chordal graphs. Operations Research Lett., 1(4): , [6] S. Földes and P. L. Hammer. Split graphs. Congressus Numerantium, 19: , [7] M. C. Golumbic. Algorithmic Graph Theory and Perfect Graphs. Academic Press, New York, [8] V. G. Vizing. On an estimate of the chromatic class of a p-graph (in russian). Diskret. Analiz., 3:25 30, [9] Z. Zhang, L. Liu, and J. Wang. Adjacent strong edge coloring of graphs. Appl. Math. Lett., 15(5): , [10] Z. Zhang, D. Woodall, B. Yao, J. Li, X. Chen, and L. Bian. Adjacent strong edge colorings and total colorings of regular graphs. Science in China Series A: Mathematics, 52(5): , 2009.

41 Resumos estendidos 40 Complex pattern detection and specification from multiscale environmental variables for biodiversity applications Jacqueline Midlej do Espírito Santo 1, Claudia Bauzer Medeiros 1 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) Campinas SP Brazil jacqueline.santo@students.ic.unicamp.br, cmbm@ic.unicamp.br Abstract. Biodiversity scientists often need to define and detect scenarios of interest from data streams concern meteorological sensors. Such streams are characterized by their heterogeneity across spatial and temporal scales, which hampers construction of scenarios. To help them in this task, this paper proposes the use of the theory of Complex Event Processing (CEP) to detect complex event patterns in this context. This paper was accepted for VIII Brazilian e-science Workshop (BreSci). Resumo. Cientistas de biodiversidade frequentemente precisam definir e detectar cenários de interesse a partir de fluxos de dados gerados por sensores meteorológicos. Tais fluxos são caracterizados pela sua heterogeneidade nas escalas temporal e espacial, dificultando a construção de cenários. Para ajudar os cientistas nesta tarefa, este artigo propõe o uso da teoria de Processamento de Eventos Complexos para detectar padrões de eventos complexos neste contexto. Este artigo foi aceito no VIII Brazilian e-science Workshop (BreSci). 1. Introduction Biodiversity broadly means the abundance, distributions and interactions across genotypes, species, communities, ecosystems and biomes. Countless problems in biodiversity studies require data collected and analyzed at multiple space and time scales, correlating environmental variables, living beings and their habitats [Hardisty and Roberts 2013]. An open problem in this context is how to specify and detect patterns from environmental variables in multiple scales to help scientists to analyze phenomena and correlate results with data collected on the field. To help solving the problem, this work proposes to use Complex Event Processing (CEP), the technology to process data streams concern meteorological sensors via event detection. The main goal is to detect event patterns in near real-time, in order to signal situations of interest [Sen et al. 2010]. The idea is to allow researchers to specify and combine events that characterize such situations, in the context of biodiversity applications. For now, scenarios of interest are usually built case-by-case; sensor events are sometimes captured by customized software. The paper extends the framework proposed by [Koga 2013] for this purpose. 2. Basic Concepts In CEP, the word event means the programming entity that records an occurrence of something in a domain [Etzion and Niblett 2010]. Events are classified into primitive and complex. Primitive events represent an occurrence at a given place and time. Complex events are formed by combinations of primitive or complex events.

42 41 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica The main task of CEP is to detect complex events, in order to identify within a set of events those that are significant to an application domain. Such a detection occurs through matching events with patterns. Patterns represent models of scenario of interest composed by specification of events and their relationships. Patterns can be defined on a hierarchy of events in which the highest level events are formed by inferences from lower level events. 3. Related Work Depending on the context, the structure and components of events can change. [Koga 2013] defines 4 attributes to specify events in environmental applications: measured-value, nature, spatial-variable, and timestamp. However, this representation only describes primitive events. The description of complex events must define relationships between events. For example, [Sen et al. 2010] represents complex events in business applications by a model based on semantics which, besides the basic attributes, has reference to operators that connects events. Patterns are specified by event processing languages. These languages are mainly defined using approaches based on logics (logic-based) or automata (automatabased). Many research efforts in defining more powerful languages. For instance, [Barga and Caituiro-Monge 2006] describe the language Complex Event Detection and Response (CERD) for expressing patterns that filter, generate and correlate complex events in business applications. Logic-based patterns are defined as combinations of predicates on events. Examples of works using this approach are [Motakis and Zaniolo 1995] and [Obweger et al. 2010]. The first authors define a model for active databases in which the pattern composition is described by Datalog 1S rules. For biodiversity applications, our target, this model is limited because Datalog 1S only supports one temporal operator. Scenarios that have more complex temporal relationships and/or have spatial relationships cannot be represented. On the other hand, [Obweger et al. 2010] do not limit the predicate to the use of specific operators. In addition, their model allows users to compose hierarchical patterns using an interface that abstracts the definition of sub-patterns. In automata-based approaches, regular expression operators are used to compose patterns. This approach limits the temporal relationships to the notion of precedence and does not support spatial operators. Examples of papers in this line are [Pietzuch et al. 2004] and [Agrawal et al. 2008]. The first one performs event detection in distributed systems. The latter focuses on improving the runtime performance of pattern queries over event streams, for business applications. 4. Partial Results This work has two main parts. The first one aims at formalizing specification of events on biodiversity, inspired by literature proposals applied to different domains (e.g., [Etzion and Niblett 2010, Barga and Caituiro-Monge 2006, Sen et al. 2010]). It must: allow the hierarchical events composition, such as [Sen et al. 2010]; combine heterogeneous data sources, such as [Koga 2013]; and consider the place where the event occurs, such as [Koga 2013]. It must also extend the semantics of operators to support spatial and

43 Resumos estendidos 42 temporal multiscale data. This specification can express biodiversity scenarios of different complexity, from excessive rain to situations combining river data with vegetation and relief data; The second contribution of this work is the development of a mechanism that allows patterns composition and detection in order to assist biodiversity applications. This step extends the work of [Koga 2013], which allows integrating data from heterogeneous sources; however, it is limited to the detection of primitive event patterns. The Figure 1 illustrates the adapted architecture, horizontally drawn, of the extended framework. The architecture has two main aspects: the use of Enterprise Service Bus (ESB) to process data streams uniformly and the use of CEP to detect patterns. Environmental data are pre-processed and translated into events, which pass through the ESB and are processed by CEP. Figure 1. Adapted architecture from [Koga 2013] From bottom to top, steps 1 and 2 filter data according to the goal of application. At step 3, the data are encapsulated into messages that are standardized by channel adapters (ESB template). Steps 4 and 5 correspond to the translation of messages into events and their processing by CEP. If a pattern is detected, step 6 encapsulates the matched event into a new message. At the steps 7 and 8, this message is standardized and sent to the interested user. Our work complements the architecture adding complex pattern composition and detection, illustrated by the red arrow from step 6 to step 4 in Figure 1. This adaptation provides more representative patterns. The detected composition of events is sent back to the ESB bus, and forwarded back into the pipeline, creating a hierarchical structure. The output of a complex event may become part of more complex compositions, generating composite events at a higher level. Using the architecture, biodiversity scientists can represent scenarios (as defor-

44 43 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica estations and forest fires) by complex patterns and detect them. For instance, detecting climatic changes as the arrival of a cold front in Campinas involves the monitoring of several environmental variables. A short logic-based pattern for this scenario can be: Et1 Et1.temp < 5 C dist(et1.space, Campinas) < 200km Et2 Et2.temp > 20 C touch(et1.space, Et2.space) Ew Ew.windSpeed > 60km/h overlap(ew.space, Et1.space) movdir(ew) = Campinas overlap(et1.time, Et2.time, Ew.time) This pattern searches for a composition of event Et1 signaling low temperature (cold air mass), meeting with Et2 signaling high temperature in Campinas (hot air mass), and Ew which shows the presence of strong wind carrying the cold front to Campinas. The detection process finds events Et1 and Et2, generating complex event CE1. This event is fed back to the bus. Next, CE1 and Ew are detected, generating the complex event CE2 that confirms the cold front. At the detection hierarchy, when CE1 and CE2 are generated, they form a higher hierarchical level. This framework will be validated over sensor data, provided by Cooxupé, cooperative of coffee farmers, from 14 weather stations in Minas Gerais and São Paulo, data used to validate the work of [Koga 2013]. Each weather station continuously collects at least 26 types of measurements, e.g., temperature, humidity, barometric pressure and so on. 5. Conclusions This paper proposes a software framework to help biodiversity scientists to quickly detect scenarios of interest. These scenarios are specified by event patterns. The expressiveness of patterns and events is considered in their specification, and the handling of multiscale data is considered. The detection is made by a hierarchical and logic-based approach. Future directions include defining the pattern language and partial implementation. Acknowledgements Work partially financed by FAPESP (2013/ ), FAPESP/Cepid in Computational Engineering and Sciences (2013/ ), the MSR-FAPESP Virtual Institute (NavScales project), CNPq (MuZOO Project), FAPESP- PRONEX (escience project), INCT in Web Science, and grants from CNPq. References Agrawal, J., Diao, Y., Gyllstrom, D., and Immerman, N. (2008). Efficient pattern matching over event streams. In ACM SIGMOD, pages Barga, R. S. and Caituiro-Monge, H. (2006). Event correlation and pattern detection in cedr. In EBDT, pages Etzion, O. and Niblett, P. (2010). Event Processing in Action. Manning Publications Co. Hardisty, A. and Roberts, D. (2013). A decadal view of biodiversity informatics: challenges and priorities. BMC Ecology, 13(1). Koga, I. K. (2013). An Event-Based Approach to Process Environmental Data. PhD thesis, Instituto de Computação - Unicamp. Supervisor Claudia Bauzer Medeiros. Motakis, I. and Zaniolo, C. (1995). Composite temporal events in active database rules: A logic-oriented approach. In DOOD, volume 1013 of LNCS, pages

45 Resumos estendidos 44 Obweger, H., Schiefer, J., Kepplinger, P., and Suntinger, M. (2010). Discovering hierarchical patterns in event-based systems. In SCC, pages Pietzuch, P., Shand, B., and Bacon, J. (2004). Composite event detection as a generic middleware extension. IEEE Network, 18(1): Sen, S., Stojanovic, N., and Stojanovic, L. (2010). An approach for iterative event pattern recommendation. In DEBS, pages

46 45 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Diabetic Retinopathy Image Quality Assessment, Detection, Screening and Referral Ramon Pires 1 and Anderson Rocha 1 1 Institute of Computing University of Campinas (UNICAMP) Campinas SP Brazil {pires.ramon,anderson}@ic.unicamp.br Abstract. Diabetic Retinopathy (DR), a common complication caused by diabetes, manifests through different lesions that can result in blindness if not be discovered in time. In this work, we present a general framework whose objective is to automate the eye-fundus image analysis. The work comprises four steps: image quality assessment, DR-related lesion detection, screening, and referral. In each step, we provide satisfactory results, comparable to the State of the Art and, in many cases, surpassing it, especially when dealing with hardto-detect lesions. An important advance in our work is the validation protocol, the cross-dataset, which is closer to real situations. Furthermore, we proposed a Bag-of-Visual-Words representation highly suitable to retinal image analysis. 1. Introduction Diabetes mellitus (DM) is a chronic end-organ disease caused by a decrease in insulin sensitivity or a loss of pancreatic function, depending on the type of diabetes, both leading to an increase in the blood glucose level. An increased blood sugar level may lead to damage of blood vessels in all organ systems of the body. Currently, diabetes affects 366 million people worldwide or 8.3% of adults. It is estimated that this number will increase to approximately 552 million people (one adult in 10 worldwide will have diabetes) The growing prevalence of diabetes creates an increasing prevalence of the complications related to the disease, including Diabetic Retinopathy (DR). DR occurs in approximately 2-4% of the population but is greater in indigenous populations. DR is the main cause of blindness in the 20 to 74 age group in developed countries, creating the need for systems that screen diabetic retinopathy in its early stages, so to allow an economically viable management of the disease. In this context, we present herein a complete step solution for diabetic retinopathy image quality assessment, detection, screening and referral. In the first step, we apply characterization techniques to assess image quality by two criteria: field definition and blur detection. In the second step, we propose an approach for detection of any lesion, in which we explore several alternatives for low-level (dense and sparse extraction) and mid-level (coding/pooling techniques of bags of visual words) representations, aiming at the development of an effective set of individual DR-related lesion detectors. The scores derived from each individual DR-related lesion, taken for each image, represent a high-level description, fundamental point for the third and fourth steps. Given a dataset described in high-level (scores from the individual detectors), we propose, in the third step of the work, the use of machine learning fusion techniques aiming at the development of a multi-lesion detection method. The high-level description is also explored in the fourth

47 Resumos estendidos 46 step for the development of an effective method for evaluating the necessity of referral of a patient to an ophthalmologist within one year. 2. Datasets Two different datasets tagged by medical specialists, DR1 and DR2, were used to perform the experiments. In the experiments with cross-dataset protocol, DR1 is used for training while DR2 is the test set. The datasets were created by the Department of Ophthalmology, Federal University of Sao Paulo (UNIFESP). DR1 has 1,077 retinal images with an average resolution of pixels of which 595 images are normal and 482 images have at least one disease. Each image was manually annotated for DR-related lesion (presence/absence) by three medical specialists, and only the images for which the three specialists agree were kept in the final dataset. DR2 comprises 520 images with 12.2 megapixels cropped to pixels to increase the processing speed. Among the 520 images, 300 are normal and 149 have at least one lesion. Ignoring the specific lesion that can be present, 337 images have been manually categorized by two independent specialists as not requiring referral and 98 images require referral within one year. Both datasets are freely available through FigShare repository, under URL 3. Quality Assessment Image quality is an important aspect of automated image analysis and the factor that successful image analysis relies on. Although it is a common task in lesion detection projects, the manual quality assessment is expensive. Most of the works in the literature focus only on the blur detection and discard important factors such as field definition. For this stage, a method was developed for analyzing image quality regarding motion blur and field definition [Pires et al. 2012]. Furthermore, alternative methods were also developed for blur detection [Jelinek et al. 2013] Field Definition In this problem, a good retinal image for DR analysis is one image centered on the macula. The method we discuss herein operates based on the methodology of fullreference comparison. In this methodology, a reference image with assured quality is assumed to be known and quantitative measures of quality for any image are extracted by comparisons with the reference. Given that the macular region has a distinguishable contrast, and we are interested in the content of the center of retinal images, metrics of similarity have shown to be highly suitable for this objective. To characterize the retinal images we use the method known as Structural Similarity (SSIM) Blur Detection Although image quality analysis can have several ramifications before arbitrating on the quality of an image, we focus on two very common problems during image acquisition: blurring and out-of-focus capture. Our method involves a series of different blurring classifiers and classifier fusion to optimize the classification. Basically, we rely upon four descriptors: vessel area, visual dictionaries, progressive blurring and progressive

48 47 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica sharpening. We also explore combinations of them. For a description about the methods, see the complete dissertation and the paper [Pires et al. 2012]. Fig. 1 presents the ROC curves achieved under the cross-dataset validation. Sensitivity Grayscale (w/o CLAHE) (AUC = 84.7%) 0.1 Grayscale (CLAHE) (AUC = 83.2%) RGB (w/o CLAHE) (AUC = 75.5%) RGB (CLAHE) (AUC = 75.6%) Specificity 1.0 Sensitivity Area descriptor (A) (AUC = 87.1%) 150 visual words (B) (AUC = 85.6%) 0.2 Blurring descriptor (C) (AUC = 60.8%) Sharpening descriptor (D) (AUC = 83.9%) Blurring and Sharpening descriptor (E) (AUC = 69.0%) 0.1 Fusion by concatenation (A, B, C, D and E) (AUC = 87.0%) Meta-SVM fusion (A, B, C, D and E) (AUC = 87.6%) Specificity Figure 1. Cross-dataset validation for field definition (left) and blur detection (right) using DR1 as training and DR2 as testing sets. 4. DR-related Lesion Detectors Due to several lesions related to DR and their diversified characteristics, there are several works which focus on the detection of individual lesions, exploiting particular pre- and post-processing methods for each disease. In this stage, it was developed a series of individual detectors for the most important DR-related lesions: hard exudates, superficial hemorrhages, deep hemorrhages, cotton wool spots, and drusen. An additional classifier able to detect both superficial and deep hemorrhages was also implemented: red lesions. This section comprises a brief description of the experiments performed for the detection of individual DR-related lesions, as well as presents the experimental results for each anomaly [Pires et al. 2014]. Appreciating the reproducibility, the source code is freely available through GitHub: ramon.msc.git. In our work, we employ a different strategy. We use a unified methodology, based on bag-of-visual-words (BoVW) representations, associated to maximum-margin support-vector machine (SVM) classifiers. Such methodology has been widely explored for general-purpose image classification, and consists of the following steps: (i) extraction of low-level local features from the image; (ii) learning of a codebook using a training set of images; (iii) creation of the mid-level (BoVW) representations for the images based on that codebook; (iv) learning of a classification model for one particular lesion, using an annotated training set; (v) using the BoVW representation and the learned classification model to make decisions on whether or not a particular image has a lesion. The mid-level BoVW features are based upon the low-level features, whose choice has great impact on performance. Two treatments are usual: sparse features, based upon the detection of salient regions, or points-of-interest; and dense features, sampled over dense grids of different scales. A challenging step, the codebook learning is usually performed by a k-means clustering over features chosen at random from a training set.

49 Resumos estendidos 48 With the codebook in hand, the next steps are the BoVW operations: coding and pooling. For coding, besides the traditional hard assignment, we have tested the soft assignment, and proposed a new semi-soft assignment especially conceived for the DRrelated lesion detection application. The semi-soft coding tries to combine the advantages of both hard and soft assignments, i.e., avoiding the boundary effects of the former, and the dense codes of the latter. For the pooling step, we forgo the traditional sum-pooling and employ the more recent max-pooling. The pooling step is considered one of the most critical for the performance of BoVW representations, and max-pooling is considered an effective choice. The detailed results are presented in Table 1, which shows the AUCs obtained for each lesion in the cross-dataset protocol (training with DR1 and test with DR2 dataset). Table 1. AUCs in %, for Training with DR1, Testing with DR2 Sparse features Dense features Hard Semi-soft Soft Hard Semi-soft Soft Hard Exhudates (HE) Red Lesions (RL) Cotton-wool Spots (CS) Drusen (D) Detector Fusion Given a set of detectors of individual DR-related lesions developed with a method which provides satisfactory results for the definition of presence/absence of the most common lesions, this work involves the use of combining approaches aimed at pointing out whether an image is normal or has any lesion including possible ones not present during training. The classifier fusion was explored for combination of the individual DR-related lesions [Jelinek et al. 2012]. Our main approach consists in investigating fusion of different detectors to identify the presence of DR. The work contains a set of classifiers that act in cooperation to solve a pattern recognition problem, followed by several methods for classifier fusion. This approach is intuitive since it imitates our nature to seek several opinions before making a decision. For this step, we have a set of detectors for six individual DR-related lesions. The assignment approach explored for the development of the detectors is the semi-soft, explained in Section 4. Two fusion methods were evaluated: OR and meta-classification. OR - Labels as positive the data classified as positive in at least one classifier. Meta-classification - Employed in Section 3 for quality assessment, can be loosely defined as learning from information generated by different learners. We performed the fusion in three different testing steps: (1) images from DR2 for testing with at least one of the discussed lesions; (2) images from DR2 for testing with any DR-related lesion (including neovascularization, increased vascular tortuosity, foveal atrophy, chorioretinitis scar, etc.); (3) images from DR2 for testing which present signals of other anomalies (except the ones we trained for). This step was performed only for the OR fusion technique.

50 49 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Figure 2 depicts the results achieved using the logic OR fusion and the metaclassification method. The results for meta-classification express the mean and the standard deviation of the AUCs obtained using the 5 2-fold cross-validation protocol. Sensitivity Same lesions (AUC = 88.6%) 0.1 All lesions (AUC = 81.6%) Other lesions (AUC = 66.8%) Specificity Sensitivity Same Lesions (AUC = 89.3% ± 2.6%) All Lesions (AUC = 82.5% ± 2.5%) Specificity Figure 2. Cross-dataset validation for fusion by logic OR (left) and 5 2-fold crossvalidation for fusion by meta-classification (right). 6. Referral In order to achieve early detection of DR, helping to stop or slow down its progress, international guidelines recommend annual eye screening for all diabetic patients. However, the increasing number of diabetic patients and the decreasing number of ophthalmologists make this suggested annual examination difficult to be performed sufficiently. This factors tend to overwhelm the specialist even more during the next years. Thus, aiming at referring to a specialist only the patients who really need a consultation, this work includes a stage for classifying retinal images as referable (to be referred to a specialist) or non-referable (not to be referred to a specialist) in the interval of one year [Pires et al. 2013]. Table 2 summarizes all the results obtained for referral. The experiments were performed without normalization, and normalizing with z-scores and term-frequency. Table 2. AUCs for referral Technique Hard-sum Soft-max Without normalization 90.8%±3.1% 93.4%±2.1% Term-frequency 82.5%±4.6% 83.4%±4.6% Z-score 91.7%±2.1% 89.4%±3.0% 7. Conclusion In this research, we proposed original solutions to deal with diabetic retinopathy related problems. The major results were published in international conferences [Pires et al. 2012, Jelinek et al. 2012, Jelinek et al. 2013] and in a top-tier international journal [Pires et al. 2013]. Furthermore, part of the achievements were combined with new discoveries in the doctorate (under way), resulting in a paper recently accepted for publishing in the top-tier journal PLOS ONE [Pires et al. 2014].

51 Resumos estendidos 50 The main breakthrough for the quality analysis step was the use of classifier fusion to optimize the classification. This tactic gave us an interesting result: to ensure that a satisfactory percentage of poor quality images will be discovered ( 90.0%), we can establish that only 10.0% of the enough quality images will be unnecessarily retaken. The quality assessment constitutes a key step of a robust DR-related lesion screening system because it helps preventing misdiagnosis and posterior retake. The detection of individual DR-related lesions is one of the most important topics of this work. The development of detectors aim at facilitating the attendance in rural and remote communities. A considerable contribution of this step was the proposal of a new coding scheme called semi-soft, that outperforms the state of the art, mainly for hard-to-detect DR-related lesions, such as drusen and cotton-wool spots. Based upon the scores associated to the detection of the most common DR-related lesions, we developed an accurate multi-lesion detector which showed to be effective for the detection of all the considered lesions. Taking as strategy the fusion of individual lesion detectors, the meta-classification method provided us the most satisfactory results. For assessing the need for referral, our proposed method can be used especially in remote and rural areas. The method captures retinal images, evaluates them in realtime, and suggests whether or not the patient requires a review by an ophthalmic specialist within one year. We have achieved important results with this methodology. For example, for a sensitivity of 90.0%, we have a specificity of 85.0%, which means that the specialist time may be saved in 85.0% (only 15.0% of the attended patients will be normal). In closing this work, we would like to emphasize that there is still important researches to be done in DR image analysis. For instance, identifying the precise location of the lesion, and defining the DR severity degree of a patient further classifying the images as related to DR cases in early, mild, moderate and severe stages. We intend also to explore more sophisticated methodologies for machine learning and image representation. References Jelinek, H. F., Pires, R., Padilha, R., Goldenstein, S., Wainer, J., and Rocha, A. (2012). Data fusion for multi-lesion diabetic retinopathy detection. In IEEE Intl. Computer- Based Medical Systems, pages 1 4. Jelinek, H. F., Pires, R., Padilha, R., Goldenstein, S., Wainer, J., and Rocha, A. (2013). Quality control and multi-lesion detection in automated retinopathy classification using a visual words dictionary. In Intl. Conference of the IEEE Engineering in Medicine and Biology Society. Pires, R., Jelinek, H., Wainer, J., Valle, E., and Anderson, R. (2014). Advancing bagof-visual-words representations for lesion classification in retinal images. PLoS ONE, 9(6):e Pires, R., Jelinek, H. F., Wainer, J., Goldenstein, S., Valle, E., and Rocha, A. (2013). Assessing the need for referral in automatic diabetic retinopathy detection. IEEE Transactions on Biomedical Engineering, 60(12): Pires, R., Jelinek, H. F., Wainer, J., and Rocha, A. (2012). Retinal image quality analysis for automatic diabetic retinopathy detection. In Intl. Conference on Graphics, Patterns and Images, pages

52 51 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Ferramentas para simulação numérica na nuvem Renan M. P. Neto 1, Juliana Freitag Borin 1, Edson Borin 1 1 Instituto de Computação Universidade Estadual de Campinas(Unicamp) Campinas SP Brazil renan.neto@students.ic.unicamp.br, {juliana,edson}@ic.unicamp.br Abstract. Numeric simulations are widely used to predict the behavior of real systems. The high computational power required by most of these simulations has increased the interest in using cloud computing to perform them. This project aims at investigating tools to perform numeric simulation in the cloud. Additionally, we will develop a Web intereface to allow users from all areas of knowledge to plant their simulations in the cloud. Resumo. Simulações numéricas são amplamente utilizadas para avaliar o comportamento de sistemas reais. O alto poder computacional exigido para a execução de muitos simuladores tem aumentado o interesse no uso de computação na nuvem para esse fim. Este projeto tem como objetivo investigar ferramentas para execução de simulação numérica na nuvem. Adicionalmente, pretende-se desenvolver uma interface Web simples e funcional para que usuários sem ampla experiência em computação possam executar suas simulações na nuvem. 1. Introdução Simulações computacionais utilizam modelos matemáticos abstratos para descrever o comportamento de modelos reais em diversas áreas, tais como engenharia, extração de petróleo, aerodinâmica, entre outras. As simulações são amplamente utilizadas para prever o funcionamento de sistemas reais antes mesmo de construí-los, possibilitando a redução de custos associados com execuções de testes reais [Liu et al. 2012, Pan et al. 2013, Johnson and Tolk 2013]. Para que os resultados de uma simulação sejam estatisticamente representativos, é preciso executa-la milhares de vezes com diferentes entradas. Quando os modelos simulados são complexos, surge a necessidade de infraestrutura computacional de alto desempenho (HPC - do inglês - High Performance Computing) para conseguir executar todas essas iterações em tempo hábil [Pan et al. 2013, Johnson and Tolk 2013]. A crescente oferta de serviços de computação na nuvem tornou acessível sistemas com grandes quantidades de processadores. Uma nuvem é um tipo de sistema distribuído e paralelo que consiste em uma coleção de computadores interconectados e virtualizados que são providos dinamicamente sob demanda com base em acordos de nível de serviço (service-level aggrements) estabelecidos entre consumidores e o provedor da nuvem [Buyya et al. 2009]. Simulações numéricas podem se aproveitar do rápido avanço das nuvens computacionais. Como nuvens computacionais são elásticas e simulações numéricas escaláveis, é possível executar milhares de simulações ao mesmo tempo diminuindo assim o tempo total da execução e livrando o usuário da compra e manutenção de máquinas físicas.

53 Resumos estendidos Computação na nuvem Computação na nuvem tem sido considerada como um novo paradigma na computação. Neste novo paradigma a infra-estrutura de computadores é movida para um provedor e é acessada via Internet [Vaquero et al. 2008]. A principal filosofia do paradigma é entregar computação como uma utilidade, assim como água, eletricidade, gás e telefone. Alguns autores tratam computação na nuvem como a quinta utilidade [Buyya et al. 2009]. Computação na nuvem possui diversos benefícios [Juve et al. 2009], dentre eles: Elasticidade - As nuvens permitem que os usuários aloquem e desaloquem recursos computacionais sob demanda. Desse modo, seus recursos computacionais podem ser sempre proporcionais as suas necessidades. Ilusão de recursos infinitos - Os provedores de computação na nuvem dão a ilusão de possuir recursos infinitos. Sendo assim, os usuários podem solicitar a quantidade de recursos computacionais desejada. No paradigma de computação na nuvem, há três tipos de serviço. O primeiro é o Infrastructure-as-a-Service (IaaS), em que o usuário é responsável por gerenciar suas aplicações, dados, sistemas operacionais e camadas intermediárias. O segundo tipo de serviço é o Platform-as-a-Service (PaaS), em que a nuvem abstrai questões como camadas intermediárias e sistemas operacionais e o usuário fica responsável somente por suas aplicações e seus dados. Já o último serviço é o Software-as-a- Service (SaaS), em que o usuário não precisa gerenciar nem os seus dados nem suas aplicações [Hwang and Li 2010, Jha et al. 2011]. As nuvens podem ser classificadas em: nuvens privadas, nuvens públicas ou nuvens híbridas. Nuvens privadas são aquelas em que a infraestrutura da nuvem é disponibilizada por algum provedor de nuvem [Amazon, Microsoft ]. Nuvens privadas são nuvens que pertencem a uma organização sendo essa organização responsável pela gerência e manutenção da nuvem. A nuvem híbrida consiste na união de duas ou mais nuvens independentes, mas que podem trabalhar em conjunto [Peng et al. 2009, Jha et al. 2011]. Nuvens privadas normalmente são criadas e gerenciadas através de ferramentas específicas para esse fim. Eucalyptus [Eucalyptus ], OpenNebula [OpenNebula ] e OpenStack [OpenStack ] são exemplos de ferramentas que administram nuvens. Essas ferramentas realizam operações de alocação de máquinas virtuais, liberação de máquinas virtuais, gerencia de usuários, redundância, entre outros [Peng et al. 2009, von Laszewski et al. 2012, Khan et al. 2011, Sempolinski and Thain 2010] Trabalhos Relacionados Jorissen, Vila e Rehr [Jorissen et al. 2012] criaram uma interface de programação que facilita operações básicas na nuvem computacional da Amazon [Amazon ] tais como: conectar-se ao serviço, criar novas instâncias de máquinas, eliminar instâncias, acessar arquivos, iniciar tarefas, entre outras. Os autores criam também uma interface gráfica para realizar alguns cálculos em específico bem como uma interface para configuração da computação nas nuvens. Nessa interface é possível informar usuário, senha e arquivos de configuração. Por fim, os autores mostram que o processo de iniciar/configurar as instâncias é paralelizável e com isso é possível ter um ganho de tempo de aproximadamente duas vezes na etapa da inicialização, em comparação com a versão serial.

54 53 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Angeline e Masala [Angeli and Masala 2012] também citam a importância da paralelização na etapa de inicialização e configuração das instâncias. Porém, neste caso, os autores apontam que quanto mais tempo uma instância fica esperando por outra, mais caro será o serviço, visto que na nuvem computacional se paga pelo tempo de alocação de cada máquina, independente se ela está realizando ou não computações. Outro ponto importante levantado pelos autores é que deve-se avaliar o custo do uso de nuvem computacional em comparação com a compra de servidores próprios. Para isso deve-se levar em consideração diversas variáveis, tais como: desgaste e deterioração das máquinas, atualizações de hardware, refrigeramento, entre outras. Outro fator importante citado pelos autores é a utilização de instâncias especializadas para o problema em questão. Para problemas que possuam a memória como fator limitante para o desempenho, por exemplo, deve-se utilizar instâncias especializadas em desempenho de memória. No trabalho feito por Jakovits, Srirama e Kromonov [Jakovits et al. 2012] foi proposta uma ferramenta para simulações científicas utilizando nuvem computacional. Essa ferramenta é baseada no modelo BSP - Bulk Synchronous Parallel - que é um algoritmo paralelo e iterativo. Esse modelo é dividido em super passos e cada super passo é dividido em: computação local, sincronização e barreira global. Nesse trabalho os autores se preocuparam com falhas e tentaram otimizar o modelo, visto que em certos pontos da execução algumas tarefas podem ficar esperando outras tarefas menores. O grande problema dessa ferramenta é que utiliza a biblioteca legada Oxford BSPlib [Oxford ]. A última atualização desta biblioteca foi em 1998 e apresenta problemas na instalação em computadores modernos, principalmente em sistemas de 64 bits [Jakovits et al. 2012]. Os autores Liu, He, Qiu e Huang [Liu et al. 2012] propõem utilizar nuvem computacional para realizar simulações. Além disso os autores também propõem melhoramentos para arquitetura do CSim - Cloud-based computer Simulation. Assim como os outros autores, eles citam que o bom uso dos recursos computacionais é a chave para o uso da nuvem computacional bem como do CSim. 2. Objetivos O objetivo deste trabalho é o estudo e desenvolvimento de ferramentas para execução de simuladores numéricos na nuvem. Serão estudados os diferentes modelos de negócio e interfaces de programação para uso da nuvem e será desenvolvido um sistema capaz de executar simuladores de forma automatizada na nuvem. Por meio do estudo sobre modelos de negócio e desempenho de provedores de computação na nuvem, será possível analisar quais provedores satisfarão os requisitos para realizar as simulações de um usuário. Como dito anteriormente, há modelos em que o usuário se preocupa com questões de infra-estrutura e há modelos que a infra-estrutura é abstraída. Há também várias maneiras de cobrança na nuvem. Os recursos disponibilizados nas nuvens - também chamados de instâncias - são diferentes entre si. Algumas instâncias visam boa qualidade de processamento e outras melhor qualidade de acesso a memória principal, por exemplo. Com o estudo proposto espera-se identificar qual tipo de instância é a melhor para o problema do usuário, visto que existem diversos tipos de simulações que possuem comportamentos diferentes. Outra contribuição importante desse trabalho será fornecer uma interface Web simples e amigável para a execução de simulação na nuvem. Com essa interface o usuário

55 Resumos estendidos 54 poderá carregar sua simulação e seus parâmetros de entrada bem como escolher a quantidade de máquinas que realizará sua tarefa de modo a otimizar custo e/ou tempo de execução. 3. Materiais e métodos Na fase atual do projeto, está sendo realizado um estudo aprofundado dos trabalhos relacionados a execução de simulação na nuvem. Também estão sendo estudadas as ferramentas disponíveis para criação e gerenciamento de nuvens privadas. Nos próximos meses, será criada uma nuvem privada no cluster do LMCAD (Laboratório Multidisciplinar de Alto Desempenho) que servirá como uma plataforma de estudo para entendimento do funcionamento de uma nuvem bem como uma plataforma de testes nas fases mais avançadas do projeto. Existem diversos provedores de nuvem pública no mercado. Dentre eles, os dois mais populares são Amazon AWS [Amazon ] e Windows Azure [Microsoft ]. A Amazon AWS fornece Infrastructure-as-a-Service e é a maior e mais conhecida empresa de nuvem computacional como mostra a Figura 1. Na Amazon AWS é possível encontrar diversos tipos de instâncias. Dentre essas instâncias há instâncias de propósito geral e instâncias especializadas. Essas instâncias especializadas variam em qualidade e quantidade de processadores, memória RAM, memória principal e placas de vídeo. O Windows Azure não possui tantas opções de instâncias quanto a Amazon AWS mas, fornece Infrastructure-as-a-Service e Platform-as-a-Service. Assim como a Amazon também possui algumas instâncias com foco em HPC. Este projeto foi contemplado com recursos computacionais da Microsoft Azure com valor estimado de US$40.000,00 para realização de pesquisas e experimentos. Figura 1. Receitas das maiores empresas de computação nas nuvens. 1 Depois de entendido o funcionamento das nuvens privadas e públicas, será iniciado o desenvolvimento das ferramentas para execução de simulações na nuvem. Nesta 1 Fonte: Company data, Evercore Group L.L.C. Research. Azure foi baseado nos comentários da MSFT sobre sua receita de U$1b em Maio de A receita do Google foi estimada pela TBR

56 55 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica fase, será preciso estudar qual linguagem de programação se encaixa melhor na natureza do problema. Desenvolvidas as ferramentas, uma interface Web será criada para permitir que usuários das diversas áreas do conhecimento possam executar suas simulações em nuvens públicas ou privadas de forma simples. Essa interface abstrairá todos os passos necessários para a implantação de uma simulação na nuvem. Web sites possuem padrões bem definidos, permitindo que seja compreendido por diversas pessoas em todo o mundo. São normalmente construídos utilizando HTML - HyperText Markup Language. Para complementar o HTML são utilizados, normalmente, JavaScript, para programar ações e comportamentos da página e CSS - Cascading Style Sheets - para programar o aspecto estético da página. Com essas ferramentas é possível criar um web site acessível de todo mundo seguindo padrões já bem definidos. A interface Web criada neste projeto deverá atender esses padrões. 4. Resultados esperados Com a ferramenta proposta, espera-se que mesmo usuários com conhecimentos básicos em computação consigam realizar suas simulações numéricas de maneira simples, eficiente e de qualquer lugar do mundo. Esperamos também prover escalabilidade e elasticidade para os usuários. Desse modo, um usuário poderá utilizar o número de instâncias que desejar podendo balancear entre tempo total de execução e valor gasto com a nuvem. A ferramenta será avaliada através de um estudo de caso utilizando um simulador de acoplamento poço-reservatório desenvolvido no Laboratório de Mecânica Computacional (LabMeC) do Departamento de Estruturas da Faculdade de Engenharia Civil, Arquitetura e Urbanismo da Unicamp. Referências Amazon. Amazon web services. Angeli, D. and Masala, E. (2012). A cost-effective cloud computing framework for accelerating multimedia communication simulations. Journal of Parallel and Distributed Computing, 72(10): Buyya, R., Yeo, C. S., Venugopal, S., Broberg, J., and Brandic, I. (2009). Cloud computing and emerging {IT} platforms: Vision, hype, and reality for delivering computing as the 5th utility. Future Generation Computer Systems, 25(6): Eucalyptus. Eucalyptus - open source private cloud software. Hwang, K. and Li, D. (2010). Trusted cloud computing with secure resources and data coloring. Internet Computing, IEEE, 14(5): Jakovits, P., Srirama, S. N., and Kromonov, I. (2012). Stratus: A distributed computing framework for scientific simulations on the cloud. In High Performance Computing and Communication 2012 IEEE 9th International Conference on Embedded Software and Systems (HPCC-ICESS), 2012 IEEE 14th International Conference on, pages

57 Resumos estendidos 56 Jha, S., Katz, D. S., Luckow, A., Merzky, A., and Stamou, K. (2011). Understanding Scientific Applications for Cloud Environments, pages John Wiley & Sons, Inc. Johnson, H. E. and Tolk, A. (2013). Evaluating the applicability of cloud computing enterprises in support of the next generation of modeling and simulation architectures. In Proceedings of the Military Modeling & Simulation Symposium, MMS 13, pages 4:1 4:8, San Diego, CA, USA. Society for Computer Simulation International. Jorissen, K., Vila, F., and Rehr, J. (2012). A high performance scientific cloud computing environment for materials simulations. Computer Physics Communications, 183(9): Juve, G., Deelman, E., Vahi, K., Mehta, G., Berriman, B., Berman, B., and Maechling, P. (2009). Scientific workflow applications on amazon ec2. In E-Science Workshops, th IEEE International Conference on, pages Khan, I., Rehman, H., and Anwar, Z. (2011). Design and deployment of a trusted eucalyptus cloud. In Cloud Computing (CLOUD), 2011 IEEE International Conference on, pages Liu, X., He, Q., Qiu, X., Chen, B., and Huang, K. (2012). Cloud-based computer simulation: Towards planting existing simulation software into the cloud. Simulation Modelling Practice and Theory, 26(0): Microsoft. Microsoft azure. OpenNebula. Opennebula flexible enterprise cloud made simple. OpenStack. Openstack - cloud software. Oxford. The oxford bsp toolset. Pan, Q., Pan, J., and Wang, C. (2013). Simulation in cloud computing envrionment. Service Sciences, International Conference on, 0: Peng, J., Zhang, X., Lei, Z., Zhang, B., Zhang, W., and Li, Q. (2009). Comparison of several cloud computing platforms. In Information Science and Engineering (ISISE), 2009 Second International Symposium on, pages Sempolinski, P. and Thain, D. (2010). A comparison and critique of eucalyptus, opennebula and nimbus. In Cloud Computing Technology and Science (CloudCom), 2010 IEEE Second International Conference on, pages Vaquero, L. M., Rodero-Merino, L., Caceres, J., and Lindner, M. (2008). A break in the clouds: Towards a cloud definition. SIGCOMM Comput. Commun. Rev., 39(1): von Laszewski, G., Diaz, J., Wang, F., and Fox, G. C. (2012). Comparison of multiple cloud frameworks. In Cloud Computing (CLOUD), 2012 IEEE 5th International Conference on, pages

58 57 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Information and Emotion Extraction in Portuguese from Twitter for Stock Market Prediction Fernando J. V. da Silva 1, Ariadne M. B. R. Carvalho 1 1 Institute of Computing University of Campinas Campinas SP Brazil fernandojvdasilva@gmail.com, ariadne@ic.unicamp.br Abstract. Stock market prediction is a very challenging endeavor which has been explored in many different ways since the advent of modern computing. With the upsurge of microblogging in the last two decades, stock market trading became a popular topic on Twitter and, as a consequence, natural language processing techniques started to be used to deal with the problem. However, the prediction of individual stocks based on tweets is still little explored. We present a research proposal for investigating a new technique aiming at stock market prediction for IBOVESPA, based on information extraction and emotions detected from tweets in Portuguese. Resumo. Prever o mercado de ações é uma tarefa bastante desafiadora, mas que vem sendo amplamente explorada. Com o aparecimento de microblogs nas últimas duas décadas, a operação no mercado de ações se tornou um tópico bastante popular no Twitter e, como consequência, técnicas baseadas em processamento de linguagem natural começaram a ser usadas para lidar com o problema. Todavia, a predição de ações individuais com base em tweets continua pouco explorada. Apresentamos uma proposta de pesquisa que visa investigar uma nova técnica para previsão de preços de ações da IBOVESPA, com base em extração de informação e detecção de emoções em tweets escritos em português. 1. Introduction One of the main questions which comes to the economists mind is: Can stock prices be really predicted?. A possible clue to such a controversial issue is presented in the Efficient Market Hypothesis (EMH) [Fama 1970], which states that market prices fully reflect all the available information. This information is indeed used by all sort of investors, such as the ones who use techniques based on Fundamental Analysis [Abarbanell and Bushee 1997]. In particular, small investors and some stock market specialists take this analysis into account when deciding which stock to buy or sell, and many discuss their evaluation on Twitter 1. They often post news about stocks, their own perspectives and expectations, not rarely enriched with results obtained from Technical Analysis [Lo et al. 2000]. Some of these tweets can be seen in Figure 1. In this work we want to verify if it is possible to predict individual stock prices in the Brazilian stock market, based on investor comments made on Twitter only. Furthermore, we want to consider if this can be done automatically by extracting meaningful 1

59 Resumos estendidos 58 #bbas3 depois acho meu post mas ainda aguardo 18,75 [#bbas3 I will find my post latter but I still wait for (the stock price to reach) 18.75] Ai meu bolso... Bbas3 caiu pra c****** hoje [Ouch, my wallet... Bbas3 felt as (expletive) today] Trade de venda no gráfico semanal acaba de ser acionado em BBAS3 [Weekly sell trade sign has just been detected in BBAS3] Figure 1. Tweets mentioning stocks. Company codes in bold. information and emotions from stock market messages in Portuguese, helping to decide whether or not to buy stocks. The remainder of this paper is organized as follows. In the next section the problem is stated, along with the main previous research. In Sections 3 and 4, respectively, our objectives and methods are presented, whilst in Section 5 we describe the evaluation techniques which will be used, as well as the expected results. Finally, in Section 6 we present our final remarks. 2. Context The first works on stock market prediction were mostly conducted by financial researchers, who used mainly message boards as a source for their work [Gaskell et al. 2013]. However, the use of microblogs, such as Twitter, has been solidified since 2011, attracting computer scientists to the area. A research on emotions was presented in [Bollen et al. 2011]. The authors measured collective moods, and studied their correlation to the Dow Jones Industrial Average (DJIA) during the year The moods were extracted using the OpinionFinder tool 2, and GPOMS, a tool which captures six different moods: calm, alert, sure, vital, kind and happy. The tool moods were derived from an existing psychometric instrument, called Profile of Mood States (POMS-bi)([Norcross et al. 1984] apud [Bollen et al. 2011]). The findings indicate a strong linear correlation between calm mood index and DJIA prices from 2 to 6 days of lag, but other mood indexes and the OpinionFinder have not shown any correlation with stock market index values at all. Furthermore, a self-organizing Fuzzy Neural Network was used to predict DJIA based on inputs from the past 3 days of DJIA values and a combination of values from the mood indexes, from the past 3 days as well. The last experiment showed that the calm index also helps to increase performance for predicting DJIA values for the next 3 or 4 days. Regarding sentiment analysis from message boards, in several previous works correlation was found between sentiment on tweets and stock market indexes, such as DJIA, S&P 100 and S&P 500 [Zhang et al. 2011, Mao et al. 2011, Bollen et al. 2011, Gaskell et al. 2013]. However, few articles indicate correlation to individual stocks. Efficiency is found in price prediction involving messages that suggest buying, but there are no good results for messages suggesting selling [Sprenger et al. 2013]. Though the prediction period tends to be no more than 1 to 4 days, researches usually suggest a 3 days prediction as an optimal period [Gaskell et al. 2013]. Furthermore, messages with fewer emotions indicate DJIA index increases [Zhang et al. 2011], 2

60 59 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica and calm moods are better for predicting DJIA values [Bollen et al. 2011]. There is a growing research field using Twitter as a message source, instead of the traditional message boards. There is already some research to identify sentiments in Portuguese tweets or message boards, and to predict stock market based on news [Lopes et al. 2008, Nizer and Nievola 2012]. Nevertheless, with respect to Brazilian stock market prediction, neither message boards nor Twitter were previously used, to the best of our knowledge. 3. Objectives The main goal of this research is to verify if it is possible to predict stock price variation in the Brazilian stock market using only information and emotions from tweets in Portuguese. Our main hypothesis are: H0 - Individual stock prices can be predicted by Twitter alone: Twitter has been thoroughly explored to predict variation on stock market indexes, but there is a need for experiments to predict individual stock prices. The great challenge is that individual stocks tend to show up in a small number of tweets per day. H1 - Twitter can predict IBOVESPA stock prices: Although Twitter has mostly being used to predict American stock market indexes, we believe it can similarly be used for Brazilian stock market prediction. H2 - Tweets can only suggest buys: This hypothesis is based on the results from [Sprenger et al. 2013], but it will be further investigated in our research. H3 - Emotions on tweets, or the lack of them, may help to decide whether or not to buy a stock: This is inspired by Zhang and colleges statement[zhang et al. 2011], who say that fewer emotions indicate increase on DJIA. Furthermore, as presented in [Bollen et al. 2011], we may look for calm moods in the messages too. H4 - The number of readers can affect prices: We argue that if someone publishes an information or expresses an emotion, this could influence other users future actions, either to sell or buy a stock, which could indeed affect their prices. 4. Methods We will analyze tweets that contain at least one stock symbol from the IBOVESPA index during the year Taken that as input, the experiment will be conducted in two steps: 1) tweets will be tagged according to the emotions they carry; and 2) all tweets that mention a specific stock in a given day will be joined together, thus their terms and emotion frequencies will be counted, and they will be classified according to the stock price variation, using Machine Learning techniques [Faceli et al. 2011] Emotion Tagger The emotion tagger will identify moods in tweets using Machine Learning algorithms. Tweets will be classified according to the emotions specified in Plutchik s theory as wheel of emotions ([Plutchik and Kellerman 1986] apud [Suttles and Ide 2013]), namely: joy, sadness, anger, fear, trust, disgust, surprise, anticipation or neutral. Firstly, tweets that mention stocks for companies from IBOVESPA index, registered during the period of 1 st to 31 st March of 2014, will be manually annotated by

61 Resumos estendidos 60 two people, who will indicate the emotions present in each tweet, including the possibility of presenting no emotion at all (neutral emotion). The same techniques presented in [Suttles and Ide 2013] will be used in our work. Hence, there will be four binary classifiers: joy vs sadness, anger vs fear, trust vs disgust, surprise vs anticipation. An additional neutral class will be considered for each of these four classifiers. If the probability of a tweet belonging to a class is smaller than a certain cutoff value, then the tweet is considered neutral. All possible probabilities generated by the four classifiers will be examined, and the one that best fits the real (annotated) data will be used. The results from the four classifiers will then be combined in order to tag a tweet up to 4 emotions. The attributes used in the training set will be based on unigrams and bigrams that appear more than five times in the corpus (following [Wang et al. 2012]). The attributes will be binary [Faceli et al. 2011], indicating the existence of a different n-gram in a given tweet. n-gram features were chosen because they presented the best results in comparison to other types of attributes [Wang et al. 2012, Suttles and Ide 2013]. Furthermore, punctuations and emoticons will be considered as part of unigrams and bigrams, as in [Suttles and Ide 2013] Preprocessing The processing steps before training the price classifier were inspired both in [Sprenger et al. 2013] and [Nizer and Nievola 2012]. They are: 1) Upcasing and removing punctuation; 2) Tokenizing for repeating elements: Stock codes will be replaced by [ticker]. In addition, every hyperlink, currency values and percentage values will be replaced by a token for each of these categories; 3) Removing stop words: The stop words listed at LINGUATECA s website 3 will be removed; 4) Stemming: Words will be stemmed using the PTStemmer [Oliveira ]; and 5) Word Counting. The remaining words will have their frequency counted to apply the bag of words technique. The counter will consider all the tweets that mention a stock in a day. For example, if the word comprar (buy) appears on four different tweets mentioning the same stock in a day, then it will be counted four times Price Variation Classifier Once the tweets are properly tagged, then two Price Change attributes will be appended: one indicating the price variation in 1 day, and another indicating the price variation after 3 days. The after 1 day period will measure the stock price variation in the next day after the tweet has been posted, obtaining the difference between the price at the end of the day and at the beginning of the next day. The after 3 days period is the difference between the price at the end of the 3 latter working days, and at the beginning of the next day. The use of 3 days lag is supported by work presented in [Gaskell et al. 2013], which indicates that the optimal period for prediction is 3 days. After the price variations for 1 and 3 days have been obtained, they will be classified as price increases, decreases or hold. At the end, attribute selection algorithms, such as Information Gain [Azhagusundari and Thanamani 2013] will be used to choose the terms to be taken as attributes. In this case, each attribute will represent the existence of one different 3

62 61 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica term in the tweets that mention a specific stock in a given day. We expect to have no more than 4500 terms after stemming. Several supervised classifiers will be evaluated, such as Naive Bayes and Support Vector Machines (SVM) [Faceli et al. 2011], considering both price changes for 1 to 3 days. Different experiments will be conducted for each of these periods. 5. Expected Results With the results obtained with the experiments, a different evaluation approach will be used for each of the hypothesis raised earlier. The price variation classifier will be used to validate H0 and, as a consequence, H1 as well. The classification algorithm will also be evaluated by separating the tweets as training and test sets, and applying cross validation techniques to avoid over-fitting. In this case, training and testing set will use tweets from different periods. Tweets collected from April/2014 to September/2014 will be used as training set, and the ones collected from October/2014 to December/2014 will be used as testing set. The H2 hypothesis will be evaluated by comparing the f- measure [Hripcsak and Rothschild 2005] to identify a stock price fall (which is a buy signal) with the identification of a price rise (which suggests a sell). For the H3 hypothesis, the evaluation will be done by applying attribute selection techniques in order to evaluate the contribution of emotion features in comparison to other features. Furthermore, experiments will be conducted by trying the classifier using emotion features, non-emotion features, and both. The results will then be compared. Finally, an additional experiment will be conducted to validate H4, in which the attributes will be weighted by the number of readers. It will be done by multiplying their values by the number of followers of the users who posted the messages. As an example, if an user publishes a tweet with the word comprar (buy), and this user has 500 followers, then the attribute indicating how many times this word appeared will count as 500 instead of 1 for this experiment. The obtained values will be compared against the ordinary experiments. 6. Conclusion We have presented a proposal for investigating new stock market prediction techniques, based on information extraction and emotions detected from tweets written in Portuguese. We have discussed the main previous works, and the main steps for the ongoing research, its objectives and techniques for evaluating the forthcoming results. References Abarbanell, J. S. and Bushee, B. J. (1997). Fundamental analysis, future earnings, and stock prices. Journal of Accounting Research, 35(1):1 24. Azhagusundari, B. and Thanamani, A. S. (2013). Feature selection based on information gain. International Journal of Innovative Technology and Exploring Engineering (IJITEE) ISSN, pages Bollen, J., Mao, H., and Zeng, X. (2011). Twitter mood predicts the stock market. Journal of Computational Science, 2(1):1 8.

63 Resumos estendidos 62 Faceli, K., Lorena, A. C., Gama, J., and de Carvalho, A. C. P. L. F. (2011). Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina. LTC - Livros Técnicos e Científicos. Fama, E. F. (1970). Efficient capital markets: A review of theory and empirical work. The Journal of Finance, 25: Gaskell, P., McGroarty, F., and Tiropanis, T. (2013). An investigation into correlations between financial sentiment and prices in financial markets. In Proceedings of the 5th Annual ACM Web Science Conference, pages ACM. Hripcsak, G. and Rothschild, A. S. (2005). Agreement, the f-measure, and reliability in information retrieval. Journal of the American Medical Informatics Association, 12(3): Lo, A. W., Mamaysky, H., and Wang, J. (2000). Foundations of technical analysis: Computational algorithms, statistical inference, and empirical implementation. Journal of Finance, 40: Lopes, T. J. P., Hiratani, G. K. L., Barth, F. J., Jr., O. R., and Pinto, J. M. (2008). Mineração de opiniões aplicada à análise de investimentos. In Companion Proceedings of the XIV Brazilian Symposium on Multimedia and the Web, pages ACM. Mao, H., Counts, S., and Bollen, J. (2011). Predicting financial markets: Comparing survey, news, twitter and search engine data. CoRR, abs/ Nizer, P. S. and Nievola, J. C. (2012). Predicting published news effect in the brazilian stock market. Expert Systems with Applications, 39(12): Norcross, J. C., Guadagnoli, E., and Prochaska, J. O. (1984). Factor structure of the profile of mood states (poms): two partial replications. Journal of Clinical Psychology, 40(5): Oliveira, P. PTStemmer: A Stemming toolkit for the Portuguese language. <URL: Plutchik, R. and Kellerman, H. (1986). Emotion: theory, research and experience. Acad. Press. Sprenger, T. O., Tumasjan, A., Sandner, P. G., and Welpe, I. M. (2013). Tweets and trades: The information content of stock microblogs. European Financial Management. Suttles, J. and Ide, N. (2013). Distant supervision for emotion classification with discrete binary values. In Computational Linguistics and Intelligent Text Processing, pages Springer. Wang, W., Chen, L., Thirunarayan, K., and Sheth, A. P. (2012). Harnessing twitter big data for automatic emotion identification. In Privacy, Security, Risk and Trust (PAS- SAT), 2012 International Conference on and 2012 International Conference on Social Computing (SocialCom), pages IEEE. Zhang, X., Fuehres, H., and Gloor, P. A. (2011). Predicting stock market indicators through twitter i hope it is not as bad as i fear. Procedia - Social and Behavioral Sciences, 26(0): The 2nd Collaborative Innovation Networks Conference - COINs2010.

64 63 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Modelo Ativo de Aparência Aplicado ao Reconhecimento de Emoções por Expressão Facial Parcialmente Oculta Flávio Altinier Maximiano da Silva 1, Hélio Pedrini 1 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) Av. Albert Einstein 1251, Campinas-SP, Brazil, flavio.maxi@gmail.com, helio@ic.unicamp.br Abstract. Algorithms capable of recognizing facial expressions and associating them to emotions are useful for many applications and machine learning techniques demonstrate to be efficient in solving this challenge, which becomes even more difficult when facial regions are occluded. This research project focuses on studying and implementing a robust Active Appearance Model to reconstruct occluded regions of the image and then verifying its efficiency in a classifier trained with non-occluded images. Experimental results will be tested on various public databases to evaluate the effectiveness of the method. Resumo. Algoritmos capazes de reconhecer expressões faciais e associá-las a emoções se fazem necessários para diversas aplicações e técnicas de aprendizado de máquina se mostram eficientes na solução desse desafio, que se torna ainda mais complexo quando regiões da face a ser analisada estão ocultas. Este projeto de pesquisa tem como objetivo estudar e implementar um Modelo Ativo de Aparência robusto para reconstrução de partes ocultas da imagem e então verificar sua eficiência em um classificador de emoções treinado com imagens sem oclusão. Resultados experimentais serão avaliados em várias bases públicas de dados para demonstrar a eficácia do método. 1. Contexto Desde o início dos estudos sobre visão computacional, o reconhecimento automático de emoções por meio de computador é um grande desafio. As expressões faciais têm papel fundamental nesse sentido, pois são um dos principais sinais da emoção do ser humano. O desenvolvimento de um sistema preciso e rápido, capaz de identificar emoções por meio da análise de expressões faciais, mostra-se útil em diversos domínios de conhecimento. Conforme avançam os estudos sobre robótica, especialmente robôs humanoides, a necessidade de um sistema automático de interação é evidente. A cada dia, robôs são mais presentes na vida cotidiana, tornando-se desejável que sejam capazes de entender as emoções e humores de um ser humano. A análise de expressões faciais mostra-se, nesse sentido, um importante fator para entendimento entre homem e máquina. Além disso, um reconhecedor automático de emoções pode ser útil para aqueles que têm dificuldade em fazê-lo pessoalmente. Em [Gay et al. 2013], pesquisadores estão desenvolvendo um aplicativo para celular capaz de ajudar crianças autistas a entender suas emoções por meio da análise de expressões faciais.

65 Resumos estendidos 64 Este projeto de pesquisa foca-se em um desafio: reconhecer corretamente emoções quando a imagem da expressão facial está parcialmente oculta. Uma situação bastante comum é quando o indivíduo está usando óculos escuros ou há sombras sobre seu rosto. Nesse caso, um Modelo Ativo de Aparência (MAA) robusto para oclusões [Gross et al. 2006] poderia ser treinado de modo a reconstruir a região oculta da face. Uma vez reconstruída a face, uma abordagem semelhante àquela desenvolvida por [Bartlett et al. 2004] será investigada. Nesse trabalho, as imagens foram realçadas por filtros de Gabor [Fogel and Sagi 1989] e, em seguida, utilizadas para treinar e testar um classificador. Neste projeto, outros métodos para delinear as linhas da face devem ser utilizados. Um caminho semelhante a esse foi tomado em [Jiang and Jia 2011], em que foram obtidos resultados satisfatórios. Este projeto se diferencia na forma de extração de características e por visar uma base de dados de imagens diferente e mais extensa. 2. Objetivos e Contribuições Este projeto tem como principal objetivo o desenvolvimento de sistemas capazes de classificar emoções básicas a partir da análise de imagens estáticas em escala de cinza de expressões faciais com regiões de interesse ocultas - como olhos e boca. A região oculta será reconstruída com a utilização de um robusto Modelo Ativo de Aparência (MAA) e, em seguida, diferentes métodos de classificação serão testados. Espera-se ao fim do projeto poder comparar os resultados do classificador sobre imagens parcialmente ocultas com imagens sem oclusão alguma e determinar assim se a utilização do MAA é válida. As principais contribuições esperadas do projeto incluem o fortalecimento dos conhecimentos na área e a proposição de uma técnica robusta para reconstruir regiões invisíveis do rosto, bem como a avaliação do método em diversas bases de dados. Tal estudo poderá ser útil para o desenvolvimento de sistemas robustos de Computação Afetiva [Scherer et al. 2010], além do desenvolvimento de robôs capazes de entender os humores e as emoções humanas. 3. Metodologia Este projeto visa investigar o reconhecimento de emoções por meio da análise computacional de expressão faciais parcialmente ocultas. Regiões de interesse do rosto - como olhos, nariz e boca - serão oclusos artificialmente, cujo objetivo principal é construir um Modelo Ativo de Aparência robusto capaz de reconstruir essa região oculta para que a imagem possa ser usada em um classificador multiclasses. Reconstruída a imagem, nela será aplicado um descritor de texturas ou bordas; em seguida, a imagem será rotulada por um classificador treinado com imagens sem oclusão alguma. Para avaliar o método proposto, extensas bases de dados com imagens de expressões catalogadas com a emoção correspondente serão necessárias. Inicialmente, serão utilizadas a Cohn-Kanade Database [Kanade et al. 2000, Lucey et al. 2010] e a Japanese Female Facial Expression Database (JAFFE) [Dailey et al. 2010, Lyons et al. 1997]. Três exemplos de imagens da base de dados de Cohn-Kanade podem ser visualizados na Figura 1.

66 65 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Figura 1. Imagens extraídas da base de dados Cohn-Kanade. As emoções catalogadas são, da esquerda para a direita, surpresa, tristeza e felicidade. Ambas as bases de dados citadas fornecem um catálogo com as emoções correspondentes para cada imagem. A classificação das emoções é baseada na parametrização Facial Action Coding System (FACS) [Ekman and Friesen 1977, Ekman et al. 2002, Cohn et al. 2005]. Essa padronização classifica as expressões através dos grupos musculares envolvidos para gerar o semblante do indivíduo em questão. Para este trabalho, serão levadas em consideração as imagens correspondentes às expressões de: felicidade, surpresa, tristeza, raiva, aversão e medo. Essas seis emoções são consideradas como tendo sinais faciais claros e diferenciados [Ekman and Davidson 1994] e as duas bases possuem um número relativamente extenso de imagens correspondentes a essas emoções básicas. Todas as imagens de rostos foram recortadas manualmente. Baseando-se nos resultados de outros trabalhos, como [Giorgana and Ploeger 2012], foram também redimensionadas para pixels; dessa forma, as características faciais ainda são visíveis e diminui-se o custo computacional de trabalho para cada imagem. Além disso, as figuras devem estar todas em escala de cinza para facilitar, posteriormente, a aplicação de filtros. Uma vez que as imagens estejam preparadas, um tipo de filtro é empregado para realçar as características que o algoritmo de aprendizado deve identificar como marcantes de cada expressão e emoção. Nesta etapa do projeto, os descritores LBP (Local Binary Patterns) [Ojala et al. 2000] e HOG (Histogram of Oriented Gradients) [Ludwig Junior et al. 2009] estão sendo empregados. O algoritmo de aprendizado escolhido como classificador de emoções é o SVM (Support Vector Machine). A biblioteca LIBSVM [Chang and Lin 2011] está sendo usada na implelmentação; suas funções são abrangentes e, conforme indica a literatura, o SVM é um dos algoritmos mais eficazes para este propósito. As imagens de um conjunto de testes terão então alguns de seus pontos de interesse ocluídos artificialmente; um MAA robusto a oclusões deve ser desenvolvido, aplicado sobre a imagem e espera-se que ele seja capaz de reconstruir a parte oculta. Feito isso, é possível seguir o caminho para a classificação: na imagem é aplicado o mesmo filtro que treinou o classificador e seu resultado deve ser utilizado para testá-lo. Um diagrama que ilustra o caminho proposto pela abordagem proposta pode ser visto na Figura 2. Para realizar a medida de avaliação dos algoritmos e poder compará-los de forma imparcial, a base de dados de imagens será dividida em partições de treinamento, validação e teste. A técnica de validação cruzada será utilizada no particionamento dos dados, tanto no caso do MAA quanto no classificador de emoções final. Segundo essa técnica, cerca de 60% dos elementos da base de dados deve ser usado como grupo de treinamento, 20% como grupo de validação - para calibrar os parâmetros do classificador - e os 20% restantes como grupo de testes.

67 Resumos estendidos 66 Reconstrução da parte oculta pelo MAA Aplicação do descritor de características Classificação Figura 2. Diagrama da abordagem proposta. A imagem parcialmente oculta deve ser reconstruída pelo MAA e o resultado, após a aplicação do descritor de características, classificado pelo SVM. Espera-se poder comparar os resultados do classificador sobre as imagens parcialmente oclusas reconstruídas pelo MAA com os resultados de classificação sobre imagens sem oclusão alguma. Também há interesse em usar o classificador sobre as imagens parcialmente oclusas sem a intervenção do MAA e compará-las com os resultados gerados com o uso do MAA; dessa forma, será possível verificar se a técnica é válida para esse fim. 4. Resultados Preliminares Embora o projeto ainda esteja em fase de desenvolvimento, alguns resultados preliminares obtidos já se mostraram interessantes. Objetivos intermediários do projeto já foram alcançados e serão discutidos nesta seção. Primeiramente, a eficácia dos descritores de características e dos classificadores para garantir a corretude da teoria foi avaliada. Nesta etapa, os descritores LBP com raio de 1 pixel e o HOG foram testados. A acurácia alcançada pode ser vista na Tabela 1. Os resultados são semelhantes aos observados na teoria e pode-se notar uma vantagem considerável do descritor HOG. Tabela 1. Acurácia do classificador com os descritores LBP e HOG nos grupos de testes das bases de dados Cohn-Kanade (59 elementos) e JAFFE (35 elementos). LBP HOG Cohn-Kanade 71.2% 83.1% JAFFE 80.0% 88.6% Além disso, uma outra hipótese que pareceu relevante durante os testes foi usar classificadores de uma base de dados na outra. Pode-se observar que a base Cohn-Kanade é formada predominantemente por fotos de pessoas de origem ocidental; a JAFFE, por outro lado, de orientais. Procurou-se, dessa forma, observar se características culturais poderiam alterar a forma com que os elementos das bases de dados expressam suas emoções. Essa classificação cruzada teve uma acurácia bastante baixa; concluiu-se que os detalhes diferentes nas expressões de cada cultura são suficientes para confundir o classificador. Fato que reforça essa hipótese é que um classificador multicultural também foi treinado com imagens de ambas as bases e ele teve acurácia bastante alta - mais alta, inclusive, do que a classificação das bases nelas próprias, cujos resultados são mostrados na Tabela 1. As acurácias de cada classificação cruzada e do classificador multicultural podem ser vistas na Tabela 2. O descritor utilizado foi o HOG, e os números entre parênteses indicam o total de elementos de cada grupo de testes. No estágio atual, o MAA está sendo investigado mais detalhadamente e testes preliminares para compreensão de suas aplicações estão sendo realizados. É interessante

68 67 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Tabela 2. Acurácia dos classificadores treinados com elementos de cada base. O descritor utilizado foi o HOG e os totais de elementos dos grupos de testes estão indicados entre parênteses. O grupo de testes formado pela união das duas bases tem 34 elementos de cada uma. Grupo de Testes Cohn-Kanade JAFFE Cohn-Kanade + JAFFE Cohn-Kanade 83.1% (59) 41.3% (183) - Treinamento do classificador JAFFE 45.9% (309) 88.5% (35) - Cohn-Kanade + JAFFE 89.8% (59) 94.2% (35) 86.7% (68) notar que num MAA simples, treinado apenas com imagens de expressões de felicidade, seu modelo já é capaz de reconstruir pedaços da imagem de forma a torná-la mais compreensível para o classificador. No futuro, espera-se poder usar o MAA para reconstruir imagens de qualquer emoção de forma eficaz. 5. Conclusões Os resultados alcançados até o momento são bastante promissores, sendo semelhantes aos apresentados na literatura e motivam a continuidade da investigação sobre o MAA. A eficácia do filtro HOG como descritor das características faciais para a aplicação mostrou-se notável. Ele é bastante simples de ser utilizado e produziu resultados semelhantes aos de filtros mais complexos usados na literatura, como o filtro de Gabor. Além disso, o desempenho do classificador multicultural também foi interessante: sua acurácia sobre elementos de teste de ambas as culturas estudadas reforça o fato de que as expressões faciais básicas devem ser realmente universais. Investigações futuras incluem o estudo do impacto do classificador em relação à oclusão de regiões importantes da face e a análise de eficácia do uso do MAA para reconstrução dessas regiões. 6. Agradecimentos Os autores agradecem o apoio financeiro obtido por meio da Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP), processo número 2014/ As opiniões, hipóteses e conclusões ou recomendações expressas neste material são de responsabilidade dos autores e não necessariamente refletem a visão da FAPESP. Referências Bartlett, M. S., Littlewort, G., Lainscsek, C., Fasel, I., and Movellan, J. (2004). Machine Learning Methods for Fully Automatic Recognition of Facial Expressions and Facial Actions. In IEEE International Conference on Systems, Man and Cybernetics, volume 1, pages Chang, C.-C. and Lin, C.-J. (2011). LIBSV: A Library for Support Vector Machines. ACM Transactions on Intelligent Systems and Technology, 2:27:1 27:27. Software available at cjlin/libsvm. Cohn, J., Ambadar, Z., and Ekman, P. (2005). Observer-Based Measurement of Facial Expression with the Facial Action Coding System. In Coan, J. and Allen, J., editors, The Handbook of Emotion Elicitation and Assessment. Oxford University Press Series in Affective Science.

69 Resumos estendidos 68 Dailey, M. N., Joyce, C., Lyons, M. J., Kamachi, M., Ishi, H., Gyoba, J., and Cottrell, G. W. (2010). Evidence and a Computational Explanation of Cultural Differences in Facial Expression Recognition. Emotion, 10(6): Ekman, P. and Friesen, W. (1977). Manual for the Facial Action Coding System. Consulting Psychologists Press. Ekman, P., Friesen, W., and Hager, J. (2002). Facial Action Coding System Investigator s Guide - A Human Face. Salt Lake City, UT, USA. Ekman, P. E. and Davidson, R. J. (1994). The Nature of Emotion: Fundamental Questions. Oxford University Press. Fogel, I. and Sagi, D. (1989). Gabor Filters as Texture Discriminator. Biological Cybernetics, 61(2): Gay, V., Leijdekkers, P., Agcanas, J., Wong, F., and Wu, Q. (2013). CaptureMyEmotion: Helping Autistic Children Understand their Emotions Using Facial Expression Recognition and Mobile Technologies. Studies in Health Technology and Informatics, 189: Giorgana, G. and Ploeger, P. (2012). Facial Expression Recognition for Domestic Service Robots. Lecture Notes in Computer Science, 7416: Gross, R., Matthews, I., and Baker, S. (2006). Active Appearance Models with Occlusion. Image and Vision Computing, 24(6): Jiang, B. and Jia, K.-b. (2011). Research of Robust Facial Expression Recognition under Facial Occlusion Condition. In Active Media Technology, pages Springer. Kanade, T., Cohn, J., and Tian, Y. (2000). Comprehensive Database for Facial Expression Analysis. In Fourth IEEE International Conference on Automatic Face and Gesture Recognition, pages 46 53, Grenoble, France. Lucey, P., Cohn, J. F., Kanade, T., Saragih, J., Ambadar, Z., and Matthews, I. (2010). The Extended Cohn-Kande Dataset (CK+): A Complete Facial Expression Dataset for Action Unit and Emotion-Specified Expression. In Third IEEE Workshop on Computer Vision and Pattern Recognition for Human Communicative Behavior Analysis. Ludwig Junior, O., David, Gonçalves Delgado, U. V., and Nunes (2009). Trainable Classifier-Fusion Schemes: An Application to Pedestrian Detection. In Intelligent Transportation Systems, pages 1 6, St. Louis, MO, USA. Lyons, M. J., Kamachi, M., and Gyoba., J. (1997). Japanese Female Facial Expressions (JAFFE). Ojala, T., Pietikäinen, M., and Mäenpää, T. (2000). Gray Scale and Rotation Invariant Texture Classification with Local Binary Patterns. In European Conference on Computer Vision, pages Springer. Scherer, K., Banziger, T., and Roesch, E. (2010). A Blueprint for Affective Computing: A Sourcebook. Oxford University Press.

70 69 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Multiple Parenting Phylogeny Alberto Oliveira 1, Zanoni Dias 1, Siome Goldenstein 1, Anderson Rocha 1 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) @students.ic.unicamp.br, {anderson, zanoni, siome}@ic.unicamp.br Abstract. Multiple Parenting Phylogeny is an image phylogeny extension to deal with cases whereby an image is created by combining content from multiple source images. In this work, is proposed a method using an approach from image phylogeny forests combined with object detection, aiming to identify various phylogeny trees in a set of images, as well as finding their multiple inheritance relationships. Resumo. Filogenia de múltiplos parentescos é uma extensão de Filogenia de Imagens para lidar com casos nos quais uma imagem é criada através da combinação de conteúdo de múltiplas imagens fonte. Nesse trabalho, é proposto um método que utiliza abordagens de florestas de filogenia de imagens combinada com detecção de objetos, buscando identificar várias árvores de filogenia em um conjunto de imagens, também encontrando relações de herança múltipla existentes entre elas. 1. Introduction When a picture is first shared on the internet, it is downloaded, modified and re-shared as a new image, being prone to the same fate as the original. This results in many images with the same semantic content, but differing by small transformations, denominated near-duplicates, cohabiting the internet. The detection and recovery of near-duplicates became a compelling problem, with applications such as spam filtering and content retrieval. Recently, this problem has been approached from a new viewpoint: finding how images in a set of near-duplicates generated each other, recovering the original picture used as starting point to create the whole set. This problem was dubbed Phylogeny by [Dias et al. 2010, Dias et al. 2012], relating it to the Biology concept of how organisms evolve. A document can be viewed as an organism, which evolves as transformations are applied to it, while keeping its original semantic content as inheritance. In this context, images are of special interest, due to their high amount of semantic information and their easiness to obtain and share. With Image Phylogeny, [Dias et al. 2010, Dias et al. 2012] intent to model the relationships between images in a set of near-duplicates as inheritance of content (parentage), resulting in a directed graph structure to represent the set. The image phylogeny formulation by Dias et. al considers that an image inherits content from at most one parent, one of its near-duplicates, hence the resulting graph structure used to represent the near-duplicate set is a Phylogeny Tree. This model is sufficient when dealing only with near duplicates, but not always true in more general scenarios. An image can be a composition, created by combining parts of multiple source images. In this case, the composition inherits content from all its different source images. In this work, an extension to image phylogeny s formulation is proposed to deal with the aforementioned scenario, named Multiple Parenting Phylogeny.

71 Resumos estendidos 70 In practical scenarios, discovering multiple parenting relationships can be applied to content tracking, forensics, copyright enforcement and forgery detection. As an extension to image phylogeny, multiple parenting phylogeny presents many new challenges, as it aims to find relationships not only between images of related semantic content, but also those of seemingly unrelated content. This work presents a multiple parenting phylogeny framework, which simultaneously reconstructs the different phylogenies and recovers the multiple inheritance relationships existent in a set of images. 2. Related work The pioneers in trying to model relationships among near-duplicate images were [Kennedy and Chang 2008]. The authors aimed to find a visual structure to display these relationships by analyzing the directionality of transformations between images to establish their generational order. Using this information among all pairs of images, redundancy elimination rules are applied to reconstruct the graph structure representing the set. Also trying to find this structure, [De Rosa et al. 2010] method employs a measure based on transformation estimation and noise comparison in pairs of images to represent their relationships, once again applying rules to reconstruct the final structure. The first authors to propose that the visual structure to represent a set of near-duplicate images should be a tree were [Dias et al. 2010, Dias et al. 2012]. In their work, they propose an approach that employs both a dissimilarity measure based on transformation estimation and content comparison in pairs of images, as well as an automatic reconstruction algorithm, ensuring the graph obtained is a tree. None of the done approaches deals with scenarios of shared content among non near-duplicate images, as in by multiple parenting phylogeny. Phylogeny Forests was proposed by [Dias et al. 2013] as another extension of image phylogeny s original formulation. It deals with the scenario of multiple images of the same scene, but not all of them belonging to the same near-duplicate group, which results in a forest of phylogeny trees. The automatic oriented kruskal algorithm proposed for reconstruction of the forest uses an adaptive threshold derived from the dissimilarity measure used to quantify the relationship between the images in the set. This algorithm is used in one of the steps of our method. 3. Methodology In this work, it is proposed a three step approach to tackle the multiple parenting phylogeny: Separation of near duplicate groups (1); Classification of groups (2); Identifying the images inside the source image groups used to create the composition (3). Our main case study are splicing-type compositions, whereby there is a pair of source images, and a part of one is cut and pasted into the other, creating the composition. The source image from which the object is cut is named as alien, while the source image where the object is pasted receives the name host. The pipeline of the method is depicted in figure Separation of near-duplicate groups Image phylogeny as presented by [Dias et al. 2010, Dias et al. 2012] comprises two steps: building the dissimilarity matrix and reconstructing the tree. The root of the phylogeny tree is expected to be the original (or closest to original) image which spawned the set of near-duplicates. The dissimilarity measure d between a pair of images I A and I B describes

72 71 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 1. Find the groups of near duplicates 2. Find composition relation between trees 3. Multiple parenting edges localization Graph Reconstruction Uncategorized set of images Forest of Phylogeny trees Tress with composition relationship Composition and nodes used to create it Reconstructed graph structure Figure 1. Pipeline of the proposed multiple parenting phylogeny approach. which of both is more likely to be the parent of the other in the tree. Given a predefined family T of image transformations and T β, a subset of transformations, parameterized by β, belonging to the family T, the definition of the dissimilarity from image I A to image I B is: IB d(i A, I B ) = min T β (I A ), (1) T β pointwise comparison L considering all possible parameter values β of T. Several transformation estimators are applied to find those values, which depend on the family T. Resampling, cropping, and affine as geometrical transformations, brightness, contrast, and gamma correction as color transformations, and compression was the family T [Dias et al. 2012] used. T β (I A ) is the best approximation of I A to I B, considering the family T of transformations. d(i A, I B ) is obtained by comparing T β (I A ) with I B. Minimum Squared Error was image comparison metric [Dias et al. 2010, Dias et al. 2012] employed, but any other metric can be used. The dissimilarity matrix is obtained by computing the dissimilarities for every pair of images. Considering This matrix represents a complete, directed graph, with weights on its edges, [Dias et al. 2010, Dias et al. 2012] introduced a modification to the Kruskal minimum spanning tree for directed graphs to reconstruct the phylogeny tree of the set. This approach considers that all images in the set are near-duplicates. As detailed in section 2, Dias et. al later introduced an extension to their image phylogeny algorithm, modifying it to deal with cases when images might depict the same scene but have no relation whatsoever. In this work, [Dias et al. 2013] approach to reconstruct the forest of phylogeny trees is used to simultaneously separate the groups of near-duplicates existent in the set of images and reconstruct their phylogeny Classification of reconstructed trees Once groups of near-duplicates are separated, the shared content relationships among them need to be established. Using those relationships and the already calculated dissimilarities, each group is classified by the contents it represent (alien, host or composition). Finding shared content between a pair of images is done through clustering of local keypoints. First, the keypoints are detected and described in both images using algorithms such as SIFT [Lowe 2004], and subsequently matched. Then, J- Linkage [Toldo and Fusiello 2008] algorithm is applied to the matches, clustering them. The matches are clustered using geometrical transformations derived from random samples of matched keypoints. If big enough clusters are found, it is assumed the pair of images has shared content. Classification starts by randomly selecting nodes of each tree as representatives. Among these nodes, all possible pairs are tested for shared content, and the occurrences counted. This procedure is repeated a set number of times, and once it is over, the tree with most occurrences of shared content is selected as the composi-

73 Resumos estendidos 72 tion s. The remaining trees are classified using the dissimilarities of their roots to the root of the newly found composition tree. The one with the lowest value is the host tree while the one with the highest is the alien tree Identification of parent source images With each of the trees classified, we need to find the alien and host parents: nodes inside the respective trees used to create the root of the composition tree. In splicing-type compositions, usually the object extracted from the alien image is small in comparison to the host it is pasted on. Taking this into consideration, most of the original scene present in the host parent is kept intact in the composition root. It is then possible to use the already computed dissimilarity measure between the composition root and all the nodes in the host tree to identify which of its nodes is the host parent. We select as host parent the host node that has the lowest dissimilarity with the composition root. The alien parent, on the other had, has only a small region shared with the composition root. A local dissimilarity approach is proposed, which first identifies the shared region, and then apply an image comparison measure only inside this region. Taking an alien image A k and the composition root R C, the shared region between this pair is found using the J-Linkage clustering approach described in section 3.2. A single cluster with more than a threshold number of matches and lowest mean distance of matches is selected to represent the shared region. The matches inside the cluster are used to align A k to R C, and the convex hull of the matched keypoints used to generate a comparison mask in both images. As those masks often differ in size and shape among alien images, a probabilistic approach is used to generate a single shared-region comparison mask, to be used for all aliens. To compute the local dissimilarity from A k to C R, the transformations applied to the cut region in the former when pasted into the later are estimated, and applied to A k. Finally, the inverse of mutual information, considering only the pixels inside the sharedregion comparison mask in both images, is used as local dissimilarity value. The alien image with the lowest dissimilarity value is selected as alien parent. 4. Validation The protocol used for validation of the proposed method is presented in this section Dataset and test cases A total of 600 splicing test cases were used, equally divided in two types of splicing operation: direct pasting and poisson blending. In direct pasting, the object cut from the alien is pasted with no modifications into the host. In poisson blending, the object is blended to the host using [Pérez et al. 2003] approach to gradient matching. Each test case comprises a forest with tree phylogeny trees: alien, host and composition. To generate the trees, the protocol defined by [Dias et al. 2012] is adopted. The trees have each 25 nodes, and the composition tree root is created using a random pair of alien and host nodes Metrics The forest algorithm s efficiency to separate near-duplicate groups is evaluated employing the metrics [Dias et al. 2010, Dias et al. 2012] defined: root, edges, leaves, and ancestry. A new subset metric which measures group separation by computing the ratio of nodes

74 73 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica with parents that belong to the same near-duplicate group (alien, host or composition), was also used. Multiple parenting results comprise both classification of groups and composition/parent identification. The metrics composition root (CR), alien parent (AP) and host parent (HP) measure if such nodes were correctly found. Additionally, the metrics composition node (CN), alien node (AN), and host node (HN) evaluate if the composition root and alien and host parents found are, respectively, composition, alien and host nodes. The second set of metrics indirectly measures classification of groups. 5. Results In this section, the experiments and results for the multiple parenting phylogeny method proposed are discussed Group separation results Two variations of the phylogeny forests reconstruction algorithm are used in the group separation step. K3T is the same directed kruskal algorithm [Dias et al. 2010, Dias et al. 2012] proposed, but modified to find exactly three trees in the set of images. This variation is considered assisted, as it depends on the information about the number of trees existent in the set of images, not normally known. K3T is treated as an upper bound to the quality of the approach to separate the groups of near-duplicates. The other variation is Automatic Oriented Kruskal (AOK) [Dias et al. 2013], detailed in section 3.1. Table 1 display the results for both approaches, in relation to the type of splicing operation used. Table 1. Results for near-duplicates s group separation with forest algorithm. Algorithm AOK K3T Splicing type root edges leaves ancestry subset root edges leaves ancestry subset Direct pasting 81.6% 74.3% 81.4% 65.5% 99.9% 83.9% 74.4% 81.4% 66.6% 99.9% Poisson blending 78.7% 74.5% 81.3% 63.2% 99.7% 82.2% 74.6% 81.4% 66.1% 99.9% Results for K3T and AOK were close, even though AOK has no information about the number of trees in the forest. It was also observed that, in most cases, AOK correctly pointed that there were three trees in the set of images. This fact, coupled with the near perfect group separation both algorithms presented (as shown by the subset results), demonstrate that AOK is a very effective choice for group separation in this scenario. The subset results, in particular, are very important, as bad separation of near-duplicate groups can lead to poor results in the subsequent steps of the multiple parenting approach Multiple parenting results Identification of alien and host parent and composition root, which comprise the multiple parent results, are shown in table 2. The results displayed include only forests reconstructed with the AOK algorithm. CN s results in comparison to CP s, show that although the classification of the composition group might be correct, its root is not always the correct one. To improve these results, a forest algorithm with better root identification would be necessary. Classification of host and alien groups was also very good, as shown by AN s and HN s results. The ratios of HP being slightly higher than CR show that finding this node is still somewhat robust to a wrong composition root. The alien parent, on the other hand, is not only very reliant on the composition root, but also on the

75 Resumos estendidos 74 local dissimilarity measure. Yet, the method proposed still had decent results, specially considering the CR ratio. Poisson blending, in many cases, introduces heavy changes to the composed object, making the localization and comparison of shared content harder, resulting in lower AP values for this splicing method. Table 2. Multiple parenting results for AOK. Metrics Splicing type CR CN HP HN AP AN Direct pasting 74.0% 92.3% 76.3% 93.7% 66.3% 98.3% Poisson blending 64.7% 85.0% 72.7% 88.0% 41.3% 98.0% 6. Conclusion Multiple parenting phylogeny is an image phylogeny extension which goes beyond nearduplicates, aiming to establish relationships among images with varied amounts of shared semantic content. This work presents an approach to multiple parenting phylogeny which starts by separating the images in groups of near duplicates and reconstructing their phylogeny trees. Once the trees are separated, object detection techniques are used to identify the relationships between different groups. The method was validated using splicing-type test cases, with near-duplicates of alien, host, and composition images. It had close to perfect group separation using a forest algorithm, over 85% classification for the three groups studied, and good accuracy in identifying the alien and host parents. Improving the identification of the composition root and host, and alien parents used to create it, as well as working with scenarios containing real images, will be focused on our future works. References De Rosa, A., Uccheddu, F., Costanzo, A., Piva, A., and Barni, M. (2010). Exploring image dependencies: a new challenge in image forensics. In Media Forensics Security II, pages X X12. Dias, Z., Rocha, A., and Goldenstein, S. (2010). First steps toward image phylogeny. In IEEE International Workshop on Information Forensics and Security, pages 1 6. Dias, Z., Rocha, A., and Goldenstein, S. (2012). Image phylogeny by minimal spanning trees. IEEE Transactions on Information Forensics and Security, 7(2): Dias, Z., Rocha, A., and Goldenstein, S. (2013). Toward image phylogeny forests: Automatically recovering semantically similar image relationships. Elsevier Forensic Science International, 231(1-3): Kennedy, L. and Chang, S.-F. (2008). Internet image archaeology: Automatically tracing the manipulation history of photographs on the web. In ACM International Conference on Multimedia, pages Lowe, D. G. (2004). Distinctive image features from scale-invariant keypoints. Springer International Journal of Computer Vision, 60(2): Pérez, P., Gangnet, M., and Blake, A. (2003). Poisson image editing. In ACM Special Interest Group on GRAPHics and Interactive Techniques, pages Toldo, R. and Fusiello, A. (2008). Robust multiple structures estimation with J-Linkage. In Springer European Conference on Computer Vision, pages

76 75 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica O problema da partição em cliques dominantes Henrique Vieira e Sousa 1, C. N. Campos 1 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) São Paulo, SP Brazil ra142690@students.ic.unicamp.br, campos@ic.unicamp.br Abstract. Given a graph G, a dominating clique partition of G is a partition of its vertex set such that each of its parts is a dominating clique. The dominating clique partition problem consists of determining max{ P : P is a dominating clique partition of G}. In this work, the problem is presented and approached for some classes of graphs. In particular, bipartite graphs, cartesian product of graphs, and direct products of complete graphs are considered. Resumo. Dado um grafo G, uma partição em cliques dominantes é uma partição de V (G) tal que cada uma de suas partes seja uma clique dominante. O problema da partição em cliques dominantes consiste em determinar max{ P : P é uma partição em cliques dominantes de G}. Neste trabalho, este problema é apresentado e estudado para a classe dos grafos bipartidos, a classe dos produtos cartesianos e também para a classe dos produtos diretos dos grafos completos. 1. Introdução Seja G um grafo com conjunto de vértices V (G) e conjunto de arestas E(G). Seja S V (G). O conjunto S é uma clique se os seus vértices são dois a dois adjacentes. Por outro lado, o conjunto S é independente se os seus vértices são dois a dois não adjacentes. A vizinhança (aberta) de um vértice v V (G) é definida como N G (v) := {w V (G) : {v, w} E(G)}. A vizinhança fechada de um vértice v V (G) é definida como N G [v] := N G (v) {v}. Se o vértice x pertence à vizinhança de y dizemos que x é vizinho de y. Estendendo o conceito de vizinhança para um conjunto S V (G), a vizinhança (aberta) de S é definida como N G (S) := v S N G(v). Analogamente, a vizinhança fechada de S é definida como N G [S] := N G (S) S. Um conjunto S V (G) é denominado um conjunto dominante do grafo G, se para todo vértice v V (G), ou v é um elemento de S, ou v é adjacente a um elemento de S. Isto é, N[S] = V (G). O número de dominação de G, γ(g), é a cardinalidade de um menor conjunto dominante de G. O problema do conjunto dominante mínimo consiste em determinar γ(g) para um grafo G arbitrário. Esse problema foi demonstrado ser NPdifícil em 1979, por M. Garey e D. Johnson [Garey and Johnson 1979]. O conceito de dominação de um grafo foi formalmente definido em 1958, por C. Berge [Berge 1962], usando o nome de coeficiente de estabilidade externa. A terminologia atual foi cunhada por Ø. Ore [Ore 1962]. Muitas aplicações reais podem ser modeladas como problemas de conjuntos dominantes. Entre estas, podemos citar problemas de comunicação em redes de computadores

77 Resumos estendidos 76 e de roteamento de ônibus. Diversas aplicações levaram à definição de variantes do problema do conjunto dominante mínimo original. Uma classe de variantes muito difundida consiste em determinar a cardinalidade de um conjunto dominante mínimo em um grafo arbitrário satisfazendo um conjunto de restrições extra. Uma variante, especialmente importante para este trabalho, consiste em adicionar a restrição de que o conjunto dominante seja uma clique (clique dominante), definindo o problema da clique dominante. O valor γ cl (G) é a cardinalidade de uma menor clique dominante em G. Convém observar que γ cl (G) não está definido para todos os grafos, pois existem grafos que não possuem cliques dominantes. Um destes grafos é o grafo ciclo com cinco vértices. Em 1977, E. J. Cockayne e S. T. Hedetniemi [Cockayne and Hedetniemi 1977] introduziram uma nova variante do problema do conjunto dominante. Uma partição dominante é uma partição de V (G) de maneira que cada uma de suas partes sejam conjuntos dominantes de G. Define-se o número dominativo 1, d(g), como max{ P : P é uma partição dominante de G}. Note que d(g) está sempre bem definido, pois todo grafo possui uma partição dominante com uma única parte igual V (G). Este problema tem atraído atenção de vários pesquisadores e muitos resultados têm aparecido na literatura [Bonuccelli 1985, Bertossi 1988, Kaplan and Shamir 1994, Rautenbach and Volkmann 1998, Volkmann 2011]. Uma extensão natural deste problema consiste em considerar partições de V (G) em conjuntos dominantes com restrições adicionais. Dentre os novos problemas definidos, encontra-se o problema da partição em cliques dominantes, para o qual adicionase a restrição de que cada parte seja uma clique. Outros problemas de partição em conjuntos dominantes, considerando outras restrições, também têm sido investigados [Haynes et al. 1998, Zelinka 1992]. Este trabalho aborda o problema da partição em cliques dominantes para algumas classes de grafos. 2. Resultados Principais Dado um grafo G, o problema da partição em cliques dominantes consiste em determinar se existe uma partição de V (G) tal que cada uma de suas partes seja uma clique dominante em G. Se o conjunto de vértices de um grafo G admite uma partição em cliques dominantes, dizemos que o grafo G possui uma partição em cliques dominantes (PCD). Para os grafos que possuem uma PCD, definimos o número clique dominativo como d cl (G) := max{ P : P é uma partição em cliques dominantes de G}. O grafo completo com n vértices, K n, possui uma PCD com n partes unitárias. Logo, d cl (K n ) = n. Para um grafo bipartido completo, K m,n, cujas partes possuem cardinalidade m e n, uma partição em cliques dominantes nem sempre existe. O teorema a seguir caracteriza os grafos bipartidos completos que possuem uma PCD. Teorema 2.1. Um grafo bipartido G possui uma PCD se e somente se G = K n,n. Ademais, d cl (K n,n ) = n, para n 2. Muitos resultados na literatura analisam a variação de certos parâmetros dos grafos após operações de produtos entre eles [Nowakowski and Rall 1996, Valencia-Pabon 2010]. Em conjuntos dominantes não tem sido diferente. Um problema 1 Em inglês, denominado domatic number.

78 77 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica clássico de conjuntos dominantes envolvendo produtos cartesianos de grafos é a Conjectura de Vizing [Vizing 1963], a qual afirma que para dois grafos G e H, γ(g H) γ(g)γ(h). O produto cartesiano de dois grafos simples G 1 e G 2 é o grafo G 1 G 2, que possui V (G 1 ) V (G 2 ) como conjunto de vértices, e dois vértices (u, v) e (x, y) adjacentes se e somente se, ou u = x e {v, y} E(G 2 ), ou {u, x} E(G 1 ) e v = y. A Figura 1(a) exemplifica esse produto. O produto direto de dois grafos simples G 1 e G 2 é o grafo G 1 G 2, que também possui conjunto de vértices V (G 1 ) V (G 2 ), com dois vértices (u, v) e (x, y) adjacentes se e somente se {u, x} E(G 1 ) e {v, y} E(G 2 ). A Figura 1(b) exemplifica este conceito. w 0 w 1 w 2 w 3 w 0 w 1 w 2 w 3 u 0 u 0 u 1 u 1 u 2 (a) Produto cartesiano do K 3 pelo K 4. u 2 (b) Produto direto do K 3 pelo K 4. Figura 1. Exemplos de produto cartesiano e produto direto. Sejam G 1 e G 2 dois grafos simples com V (G 1 ) = {u 0,..., u (p 1) } e V (G 2 ) = {w 0,..., w (q 1) }. Neste trabalho, representamos o grafo G obtido pelo produto cartesiano ou direto de G 1 e G 2 por meio de uma grade formada por pq vértices definida da seguinte forma: - A numeração das linhas vai de 0 até p 1; - A numeração das colunas vai de 0 até q 1; - O vértice (u i, w j ) está na posição (i, j) da grade e é denotado por v ij, 0 i < p e 0 j < q; - Um vértice qualquer na linha i é denotado por v i. O conjunto de todos os vértices na linha i é denotado por V i ; - Um vértice qualquer na coluna j é denotado por v j. O conjunto de todos os vértices na coluna j é denotado por V j ; Esta representação do produto de G 1 e G 2 é denominada representação matricial. A Figura 2 ilustra esta representação para os grafos exibidos na Figura 1. As propriedades a seguir são simples consequências da definição destes produtos e são usadas extensivamente neste trabalho. Proposição 2.2. Seja G = G 1 G 2. Seja e E(G). Então, na representação matricial de G, os extremos de e ou estão na mesma linha, ou estão na mesma coluna.

79 Resumos estendidos 78 G 2 w 0 w 1 w 2 w 3 u 0 v 00 v 01 v 02 v 03 G 1 u 1 v 10 v 11 v 12 v 13 u 2 v 20 v 21 v 22 v 23 Figura 2. Representação Matricial do K 3 K 4 Proposição 2.3. Sejam G 1 e G 2 dois grafos com n 1 e n 2 vértices, respectivamente. Sejam G = G 1 G 2 e S uma clique de G. Então, na representação matricial de G, ou S V i, ou S V j, 0 i < n 1 e 0 j < n 2. Ademais, se S é uma clique dominante e: (i) se S V i e n 1 2, então S = V i ; (ii) se S V j e n 2 2, então S = V j. Proposição 2.4. Sejam G 1 e G 2 dois grafos simples. Seja G = G 1 G 2 e e E(G). Então, na representação matricial de G, os dois extremos de e estão em linhas e colunas diferentes. Os grafos obtidos por meio do produto cartesiano que possuem uma partição em cliques dominantes são caracterizados pelo Teorema 2.5, o qual também estabelece o valor de d cl (G) para estes grafos. Teorema 2.5. Seja G o grafo obtido pelo produto cartesiano dos grafos G 1 e G 2, com V (G 1 ) 2 e V (G 2 ) 2. O grafo G possui uma partição em cliques dominantes se e somente se G 1 = Kp e G 2 = Kq. Ademais, d cl (K p K q ) = max{p, q}. O Teorema 2.6 estabelece uma condição que deve ser respeitada por dois grafos para que seu produto direto possua uma clique dominante. Esta condição, apesar de ser necessária, não é suficiente para garantir a existência de uma clique dominante em um grafo obtido pelo produto direto. Esse fato é demonstrado pelo Teorema 2.7, pois neste teorema é provado que o grafo K p,p K q não possui cliques dominantes, apesar de ser um produto direto de dois grafos que possuem cliques dominantes. Teorema 2.6. Sejam G e H dois grafos tais que G não possui cliques dominantes, então o grafo G H também não possui cliques dominantes. Teorema 2.7. O grafo K p,p K q, p 2, não possui cliques dominantes. Para os produtos diretos de grafos completos, o Teorema 2.8 estabelece que, nesta classe, os grafos que possuem PCD são os produtos de grafos com pelo menos três vértices. Para estes, é demonstrado que uma clique dominante mínima possui pelo menos três vértices e que é possível construir uma PCD de cardinalidade pq, o que permite 3 concluir que d cl (K p K q ) = pq. 3 Teorema 2.8. Seja G = K p K q, p 3, q 3. Então, d cl (G) = pq 3.

80 79 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 3. Conclusão Neste trabalho introduzimos o problema da partição em cliques dominantes e estudamos este problema para algumas classes de grafos. Para as classes dos grafos bipartidos, produtos cartesianos e dos produtos diretos de grafos completos foi possível caracterizar os grafos que possuem uma partição em cliques dominantes e também determinar seus números clique dominativos. Uma outra classe de grafos que estamos estudando é a das potências de ciclo. Para esta classe conseguimos caracterizar os grafos que possuem uma PCD e determinar o valor de d cl (C k n). Este último resultado está em fase de escrita. Referências Berge, C. (1962). Theory of Graphs and its Applications. Methuen, London. Bertossi, A. A. (1988). On the domatic number of internal graphs. Information Processing Letters, 28(6): Bonuccelli, M. A. (1985). Dominating sets and domatic number of circular arc graphs. Discrete Applied Mathematics, 12(3): Cockayne, E. J. and Hedetniemi, S. T. (1977). Towards a theory of domination in graphs. Networks, 7: Garey, M. R. and Johnson, D. S. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, New York. Haynes, T. W., Hedetniemi, S., and Slater, P. (1998). Domination in Graphs: Volume 2: Advanced Topics (Chapman & Hall/CRC Pure and Applied Mathematics). CRC Press. Kaplan, H. and Shamir, R. (1994). The domatic number problem on some perfect graph families. Information Processing Letters, 49(1): Nowakowski, R. J. and Rall, D. F. (1996). Associative graph products and their independence, domination and coloring numbers. Discuss. Math. Graph Theory, 16(1): Ore, O. (1962). Theory of Graphs. Amer. Math. Soc. Colloq. Publ, Providence, RI. Rautenbach, D. and Volkmann, L. (1998). The domatic number of block-cactus graphs. Discrete Mathematics, 187(1-3): Valencia-Pabon, M. (2010). Idomatic partitions of direct products of complete graphs. Discrete Mathematics, 310(5): Vizing, V. G. (1963). The cartesian product of graphs. Vyčisl. Sistemy No., 9: Volkmann, L. (2011). Upper bounds on the signed total domatic number of graphs. Discrete Appl. Math., 159(8). Zelinka, B. (1992). Domatic number of a graph and its variants (extended abstract). In Fourth Czechoslovakian Symposium on Combinatorics, Graphs and Complexity, volume 51 of Annals of Discrete Mathematics, pages Elsevier.

81 Resumos estendidos 80 Optimizing Simulation in Multiprocessor Platforms using Dynamic-Compiled Simulation Maxiwell Salvador Garcia 1, Rodolfo Azevedo 1 and Sandro Rigo 1 1 Institute of Computing, UNICAMP, Campinas, São Paulo, Brazil {maxiwell, sandro, rodolfo}@ic.unicamp.br Abstract. Contemporary SoC design involves the proper selection of cores from a reference platform and fast design space exploration. Platforms simulation with high performance and flexibility is expected by the designers. The dynamiccompiled instruction-set simulation compiles code blocks of application at runtime to accelerate the simulation with high efficiency. This paper presents a retargetable dynamic-compiled simulator to improve the performance in multiprocessor platforms. Three architectures were modeled and tested on platforms up to 8 cores. The performance was 3 times better than interpreted simulators. Resumo. O desenvolvimento atual de SoC implica na escolha minuciosa de seus processadores com uma rápida exploração do espaço de projeto. Simulação de plataformas com alta flexibilidade e desempenho é esperada pelos projetistas. A simulação compilada dinâmica de conjunto de instruções compila blocos de códigos da aplicação em tempo de execução para melhorar a eficiência da simulação. Esse artigo apresenta um simulador compilado dinâmico redirecionável para acelerar plataformas multiprocessadas. Três arquiteturas foram modeladas e testadas em plataformas com até 8 cores. O desempenho foi 3 vezes melhor que simuladores interpretados. 1. Introduction An instruction-set simulator (ISS) functionally mimics the behavior of a target processor on a host workstation. Due to the flexibility and reduced cost, simulation is one of the most used methods to evaluate system behavior and performance. The classic ISS style is interpretation, which mimics the hardware behavior: fetch an instruction from memory, decode, and execute it. Unfortunately, the growing system complexity makes the traditional simulation approach inefficient for todays architectures. The increasing complexity of the architectures and time-to-market pressure make performance simulation critical in ISSs. To gain performance, it s possible avoid the overhead in instruction fetching and decoding, performing binary translation prior to simulation or at runtime. The prior technique is called static compiled simulation and the runtime is dynamic compiled simulation. The static approach is based on creating a simulator optimized for the application that will be executed, using an additional pre-processing step before the simulation. A more flexible alternative is the dynamic approach, which make that pre-processing at runtime, optimizing code blocks on-demand. An important feature for an ISS is retargetability in order to support a wide spectrum of architectures. The retargetability was obtained with the introduction of the Architecture

82 81 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Description Languages (ADLs) in the 90 s. In this work, we used a ADL called ArchC [Azevedo et al. 2005], which offers retargetable instruction-set simulator generation with dynamic compiled simulation techniques. This ADL also has static compiled simulation [Garcia et al. 2010], but will not be used here. The simulators generated by ArchC are wrapped in a SystemC module [SystemC ] and use TLM (Transaction-Level Modeling) [Cai and Gajski 2003] for external connection, like memory, buses and IP s (Intellectual Property). With these attributes, you can easily build complete platforms with various configurations [Araujo et al. 2008]. Simulate the entire SoC (System-on-Chip) interconnections, multiple processors, IP s reduces errors and helps in achieving the requirements. This paper presents the ACDCSIM, a dynamic compiled simulator generator based in ArchC, using the LLVM infrastructure [Lattner and Adve 2004] to pre-compile code blocks at runtime. The generated simulators were used to speedup multiprocessor platforms, which previously were performed with interpreted simulators. The remaining sections of this paper are organized as follows. Section 2 presents related work concerning fast retargetable ISS. Section 3 describes our approach using LLVM JIT (Just-in-Time compilation) infrastructure to generate dynamic compiled simulators. Section 4 presents some simulation results using the MIPS, PowerPC and SPARC architectures, in platforms with 1, 2, 4 and 8 homogeneous cores. Finally, Section 5 summarizes our conclusions and describes the future work. 2. Related Work There are many fast simulators and ADLs in current literature. Some fast simulators are available regardless of ADL, but they are exceptions. SintSim [Burtscher and Ganusov 2004] is a static-compiled ISS and uses C as intermediate representation. It translates a target program into a huge C function which may sometimes overflow the C compiler. Selecting only the most frequently executed instructions to translate alleviates the problem. The FSCS technique, implemented in ADL ArchC, is a static-compiled ISS [Bartholomeu et al. 2004] which translates complete target program into C++. It does so by dividing the target code into blocks, and translating each block into a C++ function. This approach is scalable and has been successfully applied to large benchmarks. Static-compiled ISS s requires prior knowledge of the target program at compile time; for every target program to simulate, an instance of the simulator needs to be built. Another drawback is the inability to execute self-modifying code. Therefore, more research has explored the construction of dynamic-compiled ISS s. Shade [Cmelik and Keppel 1994] is the first simulator in this class. However, it is not retargetable nor portable. LISA [Zivojnovic et al. 1996] is an ADL designed for automatically retargeting fast compiled simulators. Nohl et al. presented the Just-in Time Cache Compiled Simulation (JIT-CCS) technique in LISA to combine the flexibility of interpreted simulators with the performance of the compiled principle. The compilation of an instruction takes place in runtime, just before the instruction execution. The extracted information is stored in a simulation cache for direct reuse in repeated executions of the same program address. In the EXPRESSION ADL [Halambi et al. 1999], Reshadi et al. [Reshadi et al. 2003] presented a technique called Instruction-Set Compiled Simulation (IS-CS). The decoding happens at compile time, like static-compiled, but with re-decoding flexibility if an ins-

83 Resumos estendidos 82 (a) (b) Figura 1: Dynamic-Compiled flow: (a) Simulator generation (b) Binary simulation truction is changed. They called this approach the hybrid-compiled simulation. The IS-CS performs up to 40% better than JIT-CCS, as shown in [Halambi et al. 1999]. Qin et al. [Qin et al. 2006] proposed a multiprocessing approach to accelerate the dynamic-compiled simulation. The simulation is performed on one thread, while other threads make binary translation. Their implementation is fully in C/C++, including the intermediate representation. The other tools mentioned SyntSim, FSCS, JIT-CCS and IS-CS also use C/C++ in their implementation and are therefore highly portable. The approach presents in this paper uses C++ in simulator code and LLVM-IR as intermediate representation. 3. Dynamic-Compiled Simulation ArchC [Azevedo et al. 2005] is an architecture description language based on C++ and SystemC [SystemC ] that was used in this work for experimenting new fast simulation techniques. The ArchC toolchain are publically available for download with an open-source GPL licence in Figure 1a presents the dynamic-compiled simulator generation workflow in ArchC. The behaviors are transformed in LLVM Intermediate Representation (LLVM-IR) for inlining in to the JIT function. Figure 1b shows the execution flow. The outputs dyn-compiled simulator and behaviors LLVM bitcode from 1a is the the dotted box and the behaviors LLVM bitcode box in 1b, repectively. This technique divides the target program in many blocks. Each block is a LLVM-IR switch structure containing 512 decoded instructions, indexed by the Program Counter (PC). These blocks are called JIT function and are built on-demmand. The behavior calls in JIT functions are inlined in Optimizing phases. Finally, the Execution Engine compile and execute the block JIT stage. These compiled blocks are stored for future access, avoding the build and compilation phases. In the end, the Execution Engine return the next PC, indicating the next block to be executed. If the new PC indicate a compiled block, the engine execute it. If not, the new block must be processed. When a compiled block changes by a self-modifying code, the simulator marks this block as not compiled and resumes the simulation. Since the JIT function is basically a switch, avoiding unnecessary breaks increases the performance. That optimization requires the identification of the instructions that can change the execution flow. The delay slot feature of some architectures has to be treated carefully in instruction level simulation. The program flow may change not after the control instruction, but after the instruction in the delay slot. For this reason, the number of delay slots must also be given in the ISA description. ArchC descriptions have this information,

84 83 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica which allowed the insertion of breaks only on those instructions. The remaining instructions execute sequentially, without breaks between them. Control flow instructions were also used as a mark for synchronization of multicore in ArchC platforms. The wait() statement always appears after a jump or a branch. This allows the SystemC to switch control to another thread, in this case, another processor simulator. 4. Experiments In order to evaluate the proposed dynamic-compiled simulator, we selected three architecture models described in ArchC: Mips32, PowerPC, and Sparc. These simulator were inserted into virtual platforms with 1, 2, 4 and 8 cores. The communication was made through buses, shared memory, and lock devices, all implemented using SystemC and TLM libraries. Although the simulated platform contains multiple processors, and the machine has multiple cores, the SystemC execution model is serial. We used benchmarks with parallel programs from ParMiBench [Iqbal et al. 2010] and Splash-2 [Woo et al. 1995], and adapted some programs from MiBench [Guthaus et al. 2001] for multicore. The pthread library, used in various programs, has been rewritten to run on ArchC. But the applications code was not changed. The experiments were performed on an Intel i GHz, equipped with 1GB RAM. We used GCC with the -O3 to compile the ArchC 2.1 toolchain. The JIT function were built using the API (Application Programming Interface) of LLVM 2.8. The benchmarks are compiled using cross-gccs with the -O2 flag for optimization, and the -msoft-float flag because the ArchC models do not have floating-point instructions. For each architecture, we first ran all platforms with the interpreted simulator. We then ran the platforms with the dynamic-compiled simulator. Each configuration was executed 3 times, using the arithmetic average to get the results. The small amount of execution was due to the high time of the simulations. But the workstation was exclusively performing it, and the standard deviation varied from 2.1 to 6.8%. Figures 2a, 2b, and 2c show the speedup factors of dynamic-compiled simulation over interpretation for Mips32, PowerPC and Sparc architectures, respectively. The first five applications in the figures have fast execution and low computational cost. The last five are computational intensive, take up to 6 hours to simulate. The dynamiccompiled approach in short programs is not interesting, because the overhead of the LLVM framework makes it is more costly than interpreted simulation, slowing the simulation down for some configurations. The dynamic-compiled simulation is worth in large and slow programs, where speed really needs to be increased. If a program takes 4 seconds in interpreted simulation, to improve its performance twice will not cause much impact. But the benchmark susan smoothing has a speedup of 2 in PowerPC and saved three simulation hours for each configuration with dynamic-compiled. The speedup averages were 2.25, 1.94, and 2.11, for Mips32, PowerPC and Sparc, respectively. The overall average was If we consider only the last five programs the speedup averages are 3.16, 2.27, and 2.98, with overall average Standalone experiments were also performed with the dynamic-compiled simulators, with a memory connected directly. The Benchmark MiBench for single core was used and the fft program in Mips32 Standalone, for example, reached 240 MIPS over 20 MIPS in the Virtual Platform with 1 core. The simulators in Platform Embedded had a performance drop of about 6 times

85 Resumos estendidos 84 (a) Mips32 Model (b) PowerPC Model (c) SPARCv8 Model Figura 2: Dynamic-Compiled vs Interpreter in average. This decrease is due to the SystemC kernel, responsible for about 50% of the processing time. 5. Conclusion In this paper, we implemented the dynamic-compiled simulation approach in the ArchC toolchain, for evaluating virtual platforms. The speedup was about 3 times in average. All the benchmarks performed in 97.8 hours with compiled-dynamic simulators and in hours with interpreted simulators. The SystemC kernel has a negative impact on the simulation performance. Standalone simulators reached up to 6 times the simulation speed compared to virtual platforms, which rely on SystemC kernel. In future work, ArchC team intends to reduce the overhead in SystemC kernel. There is interest in simulating multicore platforms using real multicore simulation. Nowaday, the simulation is sequential, due to the SystemC kernel. Referências Araujo, G., Rigo, S., and Azevedo, R. (2008). Processor design with ArchC. In Mishra, P. and Dutt, N., editors, Processor Description Languages, chapter 11. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA. Azevedo, R., Rigo, S., Bartholomeu, M., Araujo, G., Araujo, C., and Barros, E. (2005). The archc architecture description language and tools. Int. J. Parallel Program., 33: Bartholomeu, M., Azevedo, R., Rigo, S., and Araujo, G. (2004). Optimizations for compiled simulation using instruction type information. In Proceedings of the 16th Symposium on Computer

86 85 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Architecture and High Performance Computing, SBAC-PAD 04, pages 74 81, Foz do Iguaçu, PR, Brasil. Burtscher, M. and Ganusov, I. (2004). Automatic synthesis of high-speed processor simulators. In Proceedings of the 37th annual IEEE/ACM International Symposium on Microarchitecture, MICRO 37, pages 55 66, Portland, Oregon. Cai, L. and Gajski, D. (2003). Transaction level modeling: an overview. In Proceedings of the 1st IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, CODES+ISSS 03, pages 19 24, New York, NY, USA. Cmelik, B. and Keppel, D. (1994). Shade: a fast instruction-set simulator for execution profiling. In Proceedings of the 1994 ACM SIGMETRICS conference on Measurement and modeling of computer systems, SIGMETRICS 94, pages , Nashville, Tennessee, United States. Garcia, M. S., Azevedo, R., and Rigo, S. (2010). Optimizing a retargetable compiled simulator to achieve near-native performance. In Proceedings of the 11th Symposium on Computing Systems, WSCAD-SCC 10, pages 33 39, Petrópolis, RJ, Brasil. Guthaus, M. R., Ringenberg, J. S., Ernst, D., Austin, T. M., Mudge, T., and Brown, R. B. (2001). Mibench: A free, commercially representative embedded benchmark suite. In Workload Characterization, WWC IEEE International Workshop on, pages Halambi, A., Grun, P., Ganesh, V., Khare, A., Dutt, N., and Nicolau, A. (1999). Expression: a language for architecture exploration through compiler/simulator retargetability. In Proceedings of the conference on Design, automation and test in Europe, DATE 99, pages , Munich, Germany. ACM. Iqbal, S. M. Z., Liang, Y., and Grahn, H. (2010). Parmibench - an open-source benchmark for embedded multiprocessor systems. IEEE Computer Architecture Letters, 9: Lattner, C. and Adve, V. (2004). Llvm: A compilation framework for lifelong program analysis & transformation. In Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization, CGO 04, pages 0 75, Palo Alto, California. Qin, W., D Errico, J., and Zhu, X. (2006). A multiprocessing approach to accelerate retargetable and portable dynamic-compiled instruction-set simulation. In Proceedings of the 4th international conference on Hardware/software codesign and system synthesis, CODES+ISSS 06, pages , Seoul, Korea. Reshadi, M., Mishra, P., and Dutt, N. (2003). Instruction set compiled simulation: a technique for fast and flexible instruction set simulation. In Proceedings of the 40th annual Design Automation Conference, DAC 03, pages , Anaheim, CA, USA. SystemC Woo, S. C., Ohara, M., Torrie, E., Singh, J. P., and Gupta, A. (1995). The splash-2 programs: characterization and methodological considerations. SIGARCH Comput. Archit. News, 23(2): Zivojnovic, V., Pees, S., and Meyr, H. (1996). Lisa - machine description language and generic machine model for hw/sw co-design. In in Proceedings of the IEEE Workshop on VLSI Signal Processing, VLSISP 96, pages , San Francisco, USA.

87 Resumos estendidos 86 Preempção de Tarefas MapReduce via Checkpointing Augusto Souza 1, Islene Garcia 1 1 Instituto de Computação Universidade Estadual de Campinas Campinas, SP Brasil augusto.souza@students.ic.unicamp.br, islene@ic.unicamp.br Abstract. Apache Haddop is one of the main systems for big data analysis and storage. It is utilized to execute jobs with distinct priorities. The preemption used by Hadoop schedulers consists in just stopping the execution of less prioritary tasks, so the computation up to that moment is lost when their execution is restarted. We have been working on a solution for state storage of tasks in the phases of Reduce and Shuffle in the HDFS to improve resources usage. This paper will discuss the need for this better preemption system in Hadoop and describe which methods will be used to validate it. Resumo. Apache Hadoop é um dos principais sistemas para armazenamento e análise de grandes quantidades de dados em clusters. Ele é utilizado para executar jobs de distintas prioridades. A preempção dos escalonadores do Hadoop consiste apenas em parar a execução das tarefas menos prioritárias, a computação realizada até aquele momento não é aproveitada quando suas execuções são retomadas. Estamos contribuindo para uma solução de armazenamento do estado de tarefas que estejam na fase de Reduce ou Shuffle no HDFS para melhorar o aproveitamento dos recursos. Este artigo pretende argumentar a respeito da necessidade dessa melhoria no mecanismo de preempção e descrever os métodos de validação que serão empregados para comprovar sua eficácia. 1. Introdução Uma solução simples para o problema de se armazenar e processar grande quantidade de dados é distribui-los em vários discos; assim o conteúdo é lido de vários HDs ao mesmo tempo e a velocidade de acesso global é maior. Porém, isso cria uma série de dificuldades, como por exemplo: de que forma desenvolver aplicações que lêem seus dados desse sistema de arquivos distribuído; como aproveitar o poder de processamento dos clusters, pois não seria eficiente utilizar apenas o poder de armazenamento; como identificar e se recuperar em casos de falhas de hardware e rede; como estruturar uma arquitetura com máquinas convencionais (commodity machines) para diminuir os custos. Foi com o intuito de oferecer aos seus desenvolvedores um modelo computacional onde esses problemas fossem tratados, e consequentemente, a programação de aplicações distribuídas fosse simplificada, que o Google divulgou em 2004 o MapReduce [Dean and Ghemawat 2004]. Trata-se de um framework que permite ao programador se

88 87 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica preocupar com a implementação de duas funções apenas: Map e Reduce. Map é responsável por dividir a entrada em vários agrupamentos pequenos e independentes, que são processados em paralelo nas diversas máquinas do cluster. As saídas dos mappers (processos que executam a função Map) são entradas para os reducers (processos que executam paralelamente a função Reduce). Os reducers, por sua vez, combinam os dados para chegar à resposta final. Para que MapReduce funcione adequadamente, é necessário o apoio de um sistema de arquivos distribuídos, no caso do Google, o GFS (Google File System) [Ghemawat et al. 2003]. Desenvolver software de código aberto para computação confiável, escalável e distribuída é o objetivo do Hadoop [Apache Hadoop ]. Mantido pela Apache, o Hadoop é um conjunto de projetos, dentre eles o homônimo MapReduce e o HDFS (Hadoop Distributed File System), equivalentes ao MapReduce e GFS do Google. A popularização do Hadoop fez com que diversos tipos de aplicações fossem desenvolvidos para ele. Muitas decisões de negócios dependem hoje em dia de aplicações dessa natureza. Algumas dessas decisões são urgentes, como o processamento dos logs de cliques para medir a efetividade de anúncios em sites como Facebook e Yahoo (empresas populares por utilizarem e contribuirem para o Hadoop); já outras nem tanto, como analisar os dados de uso para decidir onde posicionar anúncios em uma página [Cho et al. 2013]. Essa criticidade para algumas operações justifica a necessidade de um mecanismo de preempção robusto no Hadoop. Assim, caso uma aplicação menos prioritária esteja em execução em um dado cluster no mesmo momento em que uma aplicação mais prioritária for submetida, essa última pode ser alocada preferencialmente suspendendo temporariamente parte da execução, ou seja, algumas tarefas, da primeira. Com um mecanismo de checkpointing confiável, pode-se aproveitar o processamento das tarefas que foram interrompidas. O restante desse documento se organiza da seguinte forma: a Seção 2 descreve a arquitetura e o funcionamento do HDFS e das versões 1 e 2 do MapReduce; a Seção 3 descreve como a preempção de tarefas é trabalhada hoje em dia no Hadoop e os problemas dessa abordagem; a Seção 4 descreve a forma como nossa pesquisa tem evoluido para melhorar o mecanismo de preempção de tarefas do Hadoop; a Seção 5 lista nossas conclusões. 2. Visão Geral do Hadoop Hadoop contêm uma implementação de MapReduce disponível livremente através da licença Apache [Apache License 2.0 ]. Os artigos do Google [Dean and Ghemawat 2004, Ghemawat et al. 2003] foram utilizados como base para o projeto. MapReduce é constituído de um modelo de programação e de um ambiente de execução escalável, ou seja, que pode ser utilizado em poucas máquinas ou até em clusters de milhares de computadores convencionais. O modelo de programação exige que os programadores especifiquem funções de Map e Reduce. Map processa um arquivo de entrada e gera pares chave-valor. Reduce combina esses pares de acordo com a chave em um único par chavevalores. É possível expressar diversos problemas do mundo real utilizando esse modelo [Dean and Ghemawat 2004]. Um arquivo de entrada previamente gravado no HDFS é utilizado em conjunto com funções de Map e Reduce para formar o que chamamos de job no Hadoop. Conforme ilustrado na Figura 1, primeiramente, os mappers leêm os dados de entrada do HDFS e

89 Resumos estendidos 88 Figura 1. Execução de MapReduce (traduzido de [White 2012]) produzem sua saída (chave-valor). Então, cada reducer computa um intervalo de chaves e seus respectivos valores, para isso é necessário que os reducers copiem a saída dos mappers diretamente do disco local de cada máquina que as processou. Essa fase de cópia é denominada shuffling. Após a fase de Reduce, múltiplas saídas são concatenadas em um arquivo que é gravado no HDFS. Uma mudança arquitetural mostrou-se necessária a medida que o Hadoop passou a ser amplamente adotado em grandes clusters. Como relatado em [Vavilapalli et al. 2013] com mais de 4000 nós, o MapReduce mostrou-se não escalável. O principal gargalo era o JobTracker e por isso que um grupo do Yahoo trabalhou em um novo modelo arquitetural denominado YARN (ou MapReduce 2), que significa Yet Another Resource Negotiator. A maior mudança no YARN foi a divisão das responsabilidade do JobTracker entre duas novas entidades: o ResourceManager e o ApplicationMaster. O primeiro gerencia os recursos do cluster, enquanto o segundo gerencia o ciclo de vida da aplicação. Além disso, introduziu-se o conceito de containers, divisão lógica de memória e CPU dos nós, utilizada pelo ResourceManager na alocação de recursos. A responsabilidade de gerenciar os containers é de uma nova entidade denominada NodeManager. Figura 2. Arquitetura do YARN (traduzido de [Vavilapalli et al. 2013])

90 89 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica A arquitetura do YARN é ilustrada na Figura 2, onde duas aplicações (representadas pelas cores preto e cinza) estão sendo executadas em um mesmo cluster. No YARN, a execução de uma aplicação de MapReduce se inicia quando um cliente do cluster submete um job ao ResourceManager, em seguida, o escalonador aloca um container para executar o ApplicationMaster que obtêm a entrada necessária para sua execução. Ele então negocia com o ResourceManager por mais containers repassando informações sobre a localidade dos dados. Além disso, o ResourceManager também recebe dados a respeito da quantidade de memória e CPU necessários para a execução das tarefas para serem utilizadas no escalonamento. Depois que o escalonador mapeia tarefas a recursos, o ApplicationMaster inicia os containers através de uma requisição ao NodeManager que busca os dados necessários para realizar a execução propriamente dita da tarefa. 3. Preempção de tarefas Tipicamente se trabalha com dois tipos de jobs no Hadoop, os de produção e os de pesquisa. Esses jobs têm características distintas, normalmente os de produção tendem a ter maior prioridade e por isso devem ser escalonados assim que submetidos e devem ter grande parte dos recursos do cluster dedicados a eles para serem executados mais rapidamente. No Google, os jobs de produção correspondem a 30% do total [Cheng et al. 2011]. Essa heterogeneidade criou a necessidade do suporte à preempção nos escalonadores do Hadoop. Atualmente, na versão do Hadoop, a preempção de uma tarefa corresponde a finalizar a sua execução imediatamente para liberar seus recursos para serem ocupados por uma nova tarefa (de um job de maior pioridade). Nenhum tipo de estado é salvo, por isso, todo o trabalho já realizado por aquela tarefa é perdido e quando ela voltar a ser executada precisará ser refeito. Em condições convencionais, o retrabalho realizado quando as tarefas de um job de menor prioridade retomarem suas execuções pode não significar grande parte do tempo de processamento. Porém, em casos com tarefas de longa duração isso pode representar um problema grave. Para exemplicar isso, imagine um cluster onde um job de prioridade baixa está sendo executado e que ele seja composto de tarefas de longa duração. Agora, imagine que nesse mesmo cluster, jobs de maior prioridade passem a ser submetidos com frequência. Uma perda de recursos significativa poderá ser observada a cada chegada de um job de maior prioridade, pois toda a computação realizada pelas tarefas do job de menor prioridade que forem suspensas não será reaproveitada. Para piorar, como essas tarefas são longas, isso consistirá em desperdício grande de tempo gasto em computar dados que anteriomente já haviam sido processados. Com o objetivo de aproveitar melhor os recursos dos clusters e melhorar o desempenho dos jobs de menor prioridade, nosso trabalho visa analisar os impactos da utilização de checkpointing na preempção das aplicações de MapReduce no Hadoop. 4. Método O Hadoop tem um sistema de controle de alterações (chamado JIRA) totalmente aberto podendo ser estudado e analisado por qualquer desenvolvedor. Nesse sistema a entrada [MAPREDUCE-5269 ] descreve uma proposta de melhoria nos mecanismos de preempção. Se o cluster tiver suporte e o desenvolvedor autorizar, essa alteração permitirá que

91 Resumos estendidos 90 quando uma aplicação de maior prioridade for submetida ao cluster, ela poderá tomar o lugar da aplicação de mais baixa prioridade. Além disso, se a aplicação a sofrer preempção estiver na fases de Shuffle ou Reduce, será possível gravar os estados das tarefas a serem supensas no HDFS (checkpointing) e restaurá-los assim que elas retomem a execução. Atualmente, a alteração [MAPREDUCE-5269 ] está incompleta, existe um patch anexo à ela que precisa de algumas correções para ser incorporado à base de código do Hadoop. Estamos recebendo a mentoria dos pesquisadores Carlo Curino e Chris Douglas, responsáveis pelo pedido de mudança, e trabalhando nessa solução, apesar de estarmos ainda em uma etapa bastante inicial de nossa pesquisa. Estão faltando alguns ajustes antes de submetermos um novo patch. Vamos ainda comparar os tempos médios de execução antes e depois da melhoria. Para essas métricas, pretende-se utilizar um cluster na Amazon EC2 e simular a submissão de jobs com diferentes tamanhos e prioridades. Como trabalho futuro, prentendemos atuar em uma otimização acerca da preempção do Hadoop. A comunidade do Hadoop tem uma série de mudanças propostas a respeito do tema preempção [MAPREDUCE-4584 ] o que mostra sua importância. O trabalho junto aos pesquisadores Carlo e Chris tem nos ajudado a focar naquilo que eles apontam como necessidades mais prioritárias para o projeto nesse momento. Baseado nessas informações, pretendemos alterar o local de armazenamento das saídas da fase de Map, passando a persistí-las no HDFS ao invés de no disco local onde o mapper foi executado. O principal benefício disso será que estado a ser gravado no checkpoint diminuirá significativamente. Seria necessário gravar somente qual foi a última chave processada para se restaurar um reducer, por exemplo. Uma outra possível expansão desse trabalho seria atuar em preempção com checkpointing para os mappers também, já que após a nossa alteração somente tarefas de Reduce e Shuffle estarão sendo preemptíveis via checkpointing. 5. Conclusão Em um mundo onde grandes quantidades de dados são produzidas diariamente, a necessidade de mecanismos eficazes de armazenamento e processamento desses dados culminou no desenvolvimento do GFS e do MapReduce pelo Google. A necessidade de sistemas similares originou o Apache Hadoop, que hoje em dia já pode ser considerado o padrão do mercado para se trabalhar com Big Data. Os clusters que utilizam Hadoop já são tão grandes (da ordem de milhares de máquinas) que sua arquitetura precisou ser revista, evoluindo para o que hoje chamamos de YARN. Em paralelo, veio a necessidade de priorizar dentre os diversos tipos de jobs executados nesses clusters. Então, surgiram as políticas de preempção e os escalonadores do Hadoop passaram a ser capazes de destinar recursos a jobs de maior prioridade mesmo que seja necessário parar a execução de tarefas pertencentes a jobs de menor prioridade para retomá-la depois. O problema é que nenhum tipo de estado é gravado e portanto recursos são disperdiçados para recomputar o trabalho perdido dessas tarefas. Para endereçar esse problema, a comunidade do Hadoop requisitou a mudança [MAPREDUCE-5269 ]. Ela consiste em inserir mecanismos para checkpointing à tarefas de Reduce e Shuffle. O estado passará a ser persistido no HDFS e poderá ser restaurado junto com as tarefas que venham a retomar a execução. Um patch incompleto já está anexo ao JIRA para essa mudança e estamos trabalhando em conjunto com os desen-

92 91 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica volvedores dele em ajustes para poder finalmente incoporar a solução ao Hadoop. Posteriormente, pretendemos analisar as melhorias de desempenho ocasionadas pela nossa mudança. Para trabalhos futuros, podemos seguir duas possíveis abordagens para melhorar ainda mais o mecanismo preempção do Hadoop. A primeira e menos provável consiste em expandir a solução aplicada a tarefas de Reduce e Shuffle às de Map. A segunda consiste em passar a gravar os dados intermediários dos mappers também no HDFS, diminuindo o estado do checkpoint significativamente. Referências Apache Hadoop. Último acesso em 31 de julho de Apache License Último acesso em 31 de julho de Cheng, L., Zhang, Q., and Boutaba, R. (2011). Mitigating the negative impact of preemption on heterogeneous mapreduce workloads. In Proceedings of the 7th International Conference on Network and Services Management, CNSM 11, pages , Laxenburg, Austria, Austria. International Federation for Information Processing. Cho, B., Rahman, M., Chajed, T., Gupta, I., Abad, C., Roberts, N., and Lin, P. (2013). Natjam: Design and evaluation of eviction policies for supporting priorities and deadlines in mapreduce clusters. In Proceedings of the 4th Annual Symposium on Cloud Computing, SOCC 13, pages 6:1 6:17, New York, NY, USA. ACM. Dean, J. and Ghemawat, S. (2004). MapReduce: Simplified Data Processing on Large Clusters. In Proceedings of the 6th Conference on Symposium on Opearting Systems Design & Implementation - Volume 6, OSDI 04, pages 10 10, Berkeley, CA, USA. USENIX Association. Ghemawat, S., Gobioff, H., and Leung, S.-T. (2003). The Google File System. In Proceedings of the nineteenth ACM symposium on Operating systems principles, SOSP 03, pages 29 43, New York, NY, USA. ACM. MAPREDUCE Umbrella: Preemption and restart of MapReduce tasks - JIRA. Último acesso em 31 de julho de MAPREDUCE Preemption of Reducer (and Shuffle) via checkpointing - JIRA. Último acesso em 31 de julho de Vavilapalli, V. K., Murthy, A. C., Douglas, C., Agarwal, S., Konar, M., Evans, R., Graves, T., Lowe, J., Shah, H., Seth, S., Saha, B., Curino, C., O Malley, O., Radia, S., Reed, B., and Baldeschwieler, E. (2013). Apache Hadoop YARN: Yet Another Resource Negotiator. In Proceedings of the 4th Annual Symposium on Cloud Computing, SOCC 13, pages 5:1 5:16, New York, NY, USA. ACM. White, T. (2012). Hadoop: The Definitive Guide. O Reilly Media, Inc.

93 Resumos estendidos 92 Processo Situado e Participativo para o Design de Aplicações de TVDi: Uma Abordagem Técnico-Social Samuel B. Buchdid e M. Cecília C. Baranauskas 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) Av. Albert Einstein 1251, Campinas SP Brazil {buchdid, cecilia}@ic.unicamp.br Abstract. Interactive Digital Television (idtv) can be considered a potential technology to face economic and social difficulties related with knowledge access and digital inclusion in Brazil. However, designing applications for it is a challenging task, partially because of its complex context and the lack of theoretical and methodological referential. For TV companies, while there is a demand for producing interactive content, the development of an application is a new element for their supply chain. In this sense, this study investigates the possibility of conducting design practices inside the situated context of an organization in order to understand the organizational culture and to propose a design process for idtv applications that fit broadcasters production chain and mitigate the challenge of designing applications. Resumo. A Televisão Digital Interativa (TVDi) pode ser considerada uma tecnologia com potencial para enfrentar as dificuldades econômicas e sociais relacionadas com o acesso ao conhecimento e inclusão digital no Brasil. No entanto, Projetar aplicativos para TVDi é uma tarefa desafiadora, parcialmente por causa de seu contexto complexo e a falta de referencial teórico e metodológico. Para as empresas de TV, enquanto que há uma demanda para a produção de conteúdo interativo, o desenvolvimento de um aplicativo é um novo elemento para a sua cadeia de produção. Neste sentido, este estudo investiga a possibilidade de realização de práticas de design dentro do contexto situado de uma organização, a fim de compreender a cultura organizacional e propor um processo de design para aplicações de TVDi que se ajuste à cadeia de produção das emissoras e torne mais fácil o desafio de projetar aplicações. 1. Introdução A chegada da Televisão Digital abre uma variedade de possibilidades para a televisão, tais como um portal de acesso à Internet ou mesmo o uso de aplicações televisivas, originando assim a TV Digital Interativa (TVDi). No entanto, a TVDi per se apresenta alguns desafios inerentes à sua tecnologia que devem ser trados no design de aplicações, por exemplo: i) a interação (limitada) por meio do controle remoto; ii) a distância física entre o usuário e o aparelho de televisão; iii) a diversidade de usuários (cognitiva, física, socioeconômica, cultural); iv) a falta de hábito dos telespectadores interagirem com o conteúdo da televisão [Kunert 2009]. Considerando os grandes índices de desigualdades sociais e econômicas do país, a TVDi se apresenta como um veículo promissor para a divulgação da informação e a

94 93 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica disseminação da educação [Waisman 2006], podendo contribuir para a inclusão social e digital, reduzindo as barreiras que impedem o acesso participativo e universal do cidadão brasileiro ao conhecimento: um dos 5 grandes desafios de pesquisa em Computação no cenário brasileiro [Baranauskas e Souza 2006]. No entanto, na maioria das cidades brasileiras, quando um telespectador compra uma televisão adaptada ao formato digital, ele não pode usufruir desses benefícios em sua totalidade, pois grande parte das emissoras está ainda na era analógica. Além disso, as emissoras que transmitem conteúdo digital, eventualmente transmitem o conteúdo interativo. As normas que regulamentam as especificações de codificação do conteúdo interativo somente recentemente foram aprovadas. Os receptores, com limitações de recursos e processamento, ainda não estão aptos a receber aplicações televisivas de maneira efetiva e incorporaram recentemente o canal de interatividade [Fórum 2014]. As aplicações que são transmitidas não são atrativas, complementam o conteúdo televisivo e utilizam o canal de interatividade em situações muito especificas (e.g., enquetes). No caso das emissoras, esse cenário se deve, em partes, porque a cadeia de produção das emissoras não está preparada para desenvolver aplicações de TVDi [Veiga 2006], e falta investimento para adequar a sua cadeia de produção a uma tecnologia que ainda está em fase de experimentação técnica e mercadológica. Se considerarmos a cadeia de produção de uma emissora para a criação de programa televisivo, vamos encontrar esforços de equipes que trabalham de forma sincronizada com papeis (e.g., diretor, produtor, roteirista) e tarefas (e.g., produção, montagem e ensaio) muito bem definidos [Bonasio 2002]. O mesmo cenário pode ser visto dentro de um processo de desenvolvimento de sistemas de software, por exemplo, com etapas específicas para a análise de requisitos, design, desenvolvimento e testes, e também em papeis como designer, desenvolvedor e analista, etc. [Pressman 2001]. Para Veiga (2006), criar uma aplicação para TVDi é diferente de criar um sistema computacional tradicional, pois existe uma distância entre um processo de produção de conteúdo televiso e o processo de desenvolvimento de software convencional. Nesse sentido, surge a oportunidade de se investigar e elaborar um modelo de processo específico para desenvolvimento de aplicações para TVDi, que agregue características dois modelos de processos e se ajuste a cadeia de produção das emissoras. 2. Objetivo De acordo com o exposto, o problema que essa tese endereça envolve um processo de concepção adequado ao design da interação de aplicações para TVDi em um contexto situado, que incorpore artefatos e dinâmicas que possam ser usados em todas as etapas de design (clarificação de problemas, análise de requisitos, design e testes), sob perspectivas técnico-sociais e sob a óptica de diferentes stakeholders, que influenciam e sofrem influencia do sistema a ser criado. Como objetivos específicos destacam-se: Clarificar o conceito de TVDi na realidade Brasileira, suas aplicações e características, bem como entender os desafios e oportunidades de pesquisa no contexto deste tipo de sistema; Entender em um contexto situado as etapas do processo de produção de programa de TV, a dinâmica entre as diversas áreas da emissora e as diferentes perspectivas dos diversos interessados na aplicação para TVDi;

95 Resumos estendidos 94 Identificar técnicas e conceitos que possam ser aplicados em diversas etapas do processo de design que, articulados, possibilitam projetar e avaliar uma aplicação para TVDi orientada a questões técnicas e sociais; Propor e/ou adaptar artefatos que apoiem a utilização da abordagem a ser concebida; Criar e colocar em prática uma abordagem que auxilie projetistas de aplicações para TVDi a envolverem e articularem questões técnico-sociais em diferentes etapas do processo (clarificação de problemas e de requisitos, design e testes); Uma vez entendida as necessidades do contexto situado, avaliar a adequabilidade da abordagem concebida no item anterior, para apoiar o design de novas aplicações para TVDi ou sistemas computacionais em outros contextos; Codificar uma aplicação para TVDi apoiada pelo uso da abordagem e verificar o resultado de seu broadcasting. 3. Metodologia Para atingir tal objetivo usamos como base teórico-metodológica a Computação Socialmente Consciente [Baranauskas 2009; Baranauskas 2014], que tem como fundamentação teórica bases da Semiótica Organizacional [Liu 2000] e Design Participativo [Müller et al. 1997], para propor soluções de design de aplicações para TVDi e entender o contexto situado de um programa televisivo em uma emissora de televisão real. As teorias que vão apoiar essa abordagem são: Design Patterns para TVDi [Kunert 2009, Design Persuasivo [Fogg 2009], Processos de Concepção para TVDi [Veiga 2006], Projeto de Sistemas Computacionais [Pressman 2001] e Processo de Produção de Programa de TV [Bonasio 2002] Estudo de Caso: Design de Aplicação para o Programa Terra da Gente O estudo de caso deste trabalho de pesquisa utiliza como contexto prático uma emissora de televisão, a EPTV (acrônimo para Emissoras Pioneiras de Televisão ), mais especificamente o programa Terra da Gente. A EPTV é uma das filiais da Rede Globo de Televisão e atende uma área de cobertura de 300 municípios com mais de 10 milhões de cidadãos [EPTV 2014]. O programa Terra da Gente, no ar desde junho de 1997, tem uma equipe própria de editores, redatores, produtores, designers, técnicos, jornalistas, entre outros. Será o primeiro programa da emissora a receber uma aplicação de TVDi. Como público alvo, o programa procura atingir pessoas que gostam de pesca esportiva, da diversidade de fauna e flora, a culinária e da boa música de raiz. Além do programa televisivo, a equipe do programa Terra da Gente também produz uma revista e um portal de informações de mesmo nome [Terra da Gente 2013]. O intuito desta parceria é a Colaboração para Design e Desenvolvimento de Aplicação para TVDi que permita a criação do aplicativo de TVDi que vai ao ar junto ao conteúdo televisivo do programa Terra da Gente. Para isso, 10 participantes, envolvidos direta e indiretamente no domínio do problema, com diferentes perfis (por exemplo, diretor, designer, engenheiros, pesquisadores e estagiários) participam do estudo de caso.

96 95 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 3.2. Visão Principal: Abordagem Situada para o Design de Aplicações para TVDi A metodologia proposta para a concepção do processo de design aqui proposto é uma instância do modelo de processo vindo da Computação Socialmente Consciente, e pode ser visto na Figura 1. As atividades prévias, antes das práticas no contexto situado, são: 1. Identificação das técnicas e artefatos: identificar na literatura conceitos, artefatos e técnicas que podem ser utilizados no processo de desenvolvimento de aplicações para TVDi. 2. Adaptação das técnicas e artefatos: Adaptar, se necessário, os conceitos, artefatos e técnicas encontrados no passo anterior para serem usados, de maneira articulada, no contexto situado. 3. Concepção do processo: envolve desde a definição das etapas do processo (e.g., clarificação do problema e de requisitos, implementação, testes e avaliação) até a definição dos conceitos, artefatos e técnicas a serem utilizados em cada etapa. As atividades em conjunto com a EPTV estão definidas a seguir: Oficinas semio-participativas: desenvolvidas para clarificar o problema e o contexto situado, propor soluções, gerar ideias de design e também para avaliar o protótipo criado (detalhes A, B e D na Figura 1). Elaboração do Protótipo: criado em fase intermediária do processo para mostrar aos participantes, de maneira concreta, o resultado das oficinas (detalhe C na Figura 1). Avalição do Protótipo: realizada com usuários finais, e também com os participantes das oficinas, para identificar possíveis problemas de interação humanocomputador, antes da codificação da aplicação final (detalhe D na Figura 1). Implementação e Testes em Laboratório: codificação da aplicação a partir do protótipo gerado e das sugestões de melhoria vindas da etapa anterior. Uma vez codificada, testes em laboratório são necessários para avaliar a parte tecnológica da aplicação e também problemas de interação humano-computador que podem aparecer somente na aplicação final (detalhe E na Figura 1). Transmissão, avaliação em campo e análise dos resultados: uma vez transmitida, a aplicação pode ser avaliada em campo, o que inclui, posteriormente, o refinamento dos dados coletados (detalhe F na Figura 1). Figura 1. Metodologia proposta

97 Resumos estendidos 96 A avaliação do processo deve ser realizada por meio de questionários aplicados nos participantes das oficinas. Avaliações auxiliares podem ocorrer por meio de avaliações formativas com usuários finais, sobre a aplicação que está sendo criada, em diferentes etapas do processo de design (e.g., teste do protótipo e teste em laboratório). 4. Resultados Parciais Até o momento já realizamos oficinas semio-participativas previamente programadas para: a clarificação do problema e proposição de soluções, a análise e organização dos requisitos, a geração de ideias de design. As ideias produzidas foram materializadas, com a utilização das ferramentas Balsamiq e CogTool, em telas e em um protótipo interativo. O protótipo final (Figura 2) foi avaliado de forma interativa por representantes do público-alvo, por especialistas em HCI, e também em uma prática participativa com os participantes das oficinas. Estas práticas de avaliação foram importantes para identificar problemas e propor soluções antes de produzir a primeira versão do aplicativo. Os materiais e resultados produzidos nestas atividades também já foram reportados em [Buchdid et al. 2014a] e [Buchdid et al. 2014b]. Figura 2. Screenshots do protótipo Como resultados parciais, a avaliação participativa indicou que os participantes aprovaram o protótipo interativo que eles co-projetaram. Por outro lado, a avaliação com representantes do público-alvo reforçou os resultados positivos, indicando que o protótipo foi compreendido e bem aceito por usuários que nunca utilizaram uma aplicação para TVDi anteriormente. 5. Conclusões A experiência na EPTV indicou que um projeto situado e participativo contribui para o desenvolvimento de soluções que estejam alinhadas aos interesses das pessoas diretamente envolvidas em práticas de projeto, bem como para os prospectivos usuários finais. Estes resultados sugerem que uma perspectiva de design situado e participativo favorece a construção de soluções que façam sentido para as pessoas, o que reflete um entendimento sobre o domínio do problema e sobre o contexto social complexo em que estas soluções serão usadas. Como passos futuros estamos implementando e devemos testar a aplicação final, e liberá-la para uso dos telespectadores do programa. Além disso, é necessário realizar mais estudos, dentro da perspectiva da Computação Socialmente Consciente, para investigar o impacto potencial das práticas realizadas com a equipe de TV e com os usuários finais da aplicação para TVDi.

98 97 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Agradecimento. Pesquisa parcialmente financiada pelo CNPq (# /2013-3). Os autores agradecem a equipe da EPTV que são colaboradores neste projeto de pesquisa. References Baranauskas, M.C.C.; Souza, C.S. Desafio no 4: Acesso Participativo e Universal do Cidadão Brasileiro ao Conhecimento. Computação Brasil. SBC, ano VII, no 27, p. 7, Set./Out./Nov (2006). Baranauskas, M.C.C. Socially Aware Computing. In: ICECE 09, VI International Conference on Engineering and Computer Education (2009). Baranauskas, M.C.C. Social Awareness in HCI. ACM INTERACTIONS July August 2014, pp (2014) Bonasio, V. Televisão Manual de Produção & Direção.Minas Gerais: Ed. Leitura (2002) Buchdid, S.B., Pereira, R., Baranauskas, M.C.C. Creating an idtv Application from Inside a TV Company: a Situated and Participatory Approach. In: ICISO 14, 15th International Conference on Informatics and Semiotics in Organisations. Springer, Berlin, DEU, pp (2014a) Buchdid, S.B., Pereira, R., Baranauskas, M.C.C.: Playing Cards and Drawing with Patterns: Situated and Participatory Practices for Designing idtv Applications. In: ICEIS 14, 16th International Conference on Enterprise Information Systems. SciTe- Press, Lisboa, pp (2014b) EPTV, Portal de Notícias EPTV. março de Fogg, B.J. A behavior model for persuasive design. In: Persuasive 09, 4th International Conference on Persuasive Technology. Art No. 40. ACM Press, NY, pp. 1-7 (2009) Fórum, Fórum Brasileiro de TV Digital. julho de Kunert, T. User-Centered Interaction Design Patterns for Interactive Digital Television Applications, Springer, Berlin (2009) Liu, K. Semiotics in Information Systems Engineering. 1st edition. Cambridge University Press. UK. (2000). Müller, M. J., Haslwanter, J. H., Dayton, T. Participatory Practices in the Software Lifecycle. In: Helander, M. G., Landauer, T. K., Prabhu, P. V. (ed.). Handbook of Human-Computer Interaction, 2. ed. Amsterdam: Elsevier, pp (1997) Pressman, R. S. Software Engineering - A Practitionar's Approach, McGraw-Hill International Edition, 5th Edition (2001) Terra da Gente, Portal Terra da Gente. março de Veiga, E. G. Modelo de Processo de Desenvolvimento de Programas para TV Digital e Interativa. 141 f. Dissertação de Mestrado - Redes de Computadores, Universidade Salvador, Janeiro (2006) Waisman, T. Usabilidade em Serviços Educacionais em Ambiente de TV Digital. 201 f. Tese de doutorado - Escola de Comunicação e Artes, Universidade de São Paulo, Janeiro (2006)

99 Resumos estendidos 98 Processors Power Analysis Jéssica T. Heffernan 1, Rodolfo Azevedo 1 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) Campinas, SP Brazil ra091661@students.ic.unicamp.br, rodolfo@ic.unicamp.br Abstract. This work aims to generate power tables for processor-platform pairs, entries for benchmarks characterization softwares. We used MIPS and SPARC processors synthesized in Xilinx and Altera FPGAs as well as in ASICs with a 45nm library, generating models on which each ISA instruction was simulated separately [Tiwari 1996], providing a power activity profile. The estimates were evaluated for different operating frequencies, in order to develop a model of linear dependence. 1. Introduction With the increasing complexity of digital systems, power consumption has become an important design metric. In this context, the acsynth framework [Guedes et al 2013] was created for power analysis of MIPS-I and SPARCv8 processors. The development flow is shown in Figures 1 and 2. Figure 1. Overview of acsynth development flow. Figure 2. Detailed characterization flow. Analysis is done on instruction level [Tiwari 1996]. For each instruction, acpowergen creates a characterization program in assembly, containing repetitions of that instruction with registers and immediate values randomly generated. A testbench submit this program to a timing simulation, which results in a file with signals switching activity. This file is used by a power analyzer to generate a power consumption report. The acsynth is responsible for iterating the testbench for all programs generated by acpowergen and organize the data obtained at the end of the characterization step in a single database in CSV format. This database is included, along with PowerSC library, in a simulator generated by acsim tool with the acpower parameter enabled, providing an energy profile of benchmarks executed in that processor core. The framework also may be extended to multicore platforms. MPSoCBench [Duenha et al 2014] is a benchmark composed by a scalable set of MPSoCs which includes as one of its features

100 P r o c e s s o r 99 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica power consumption estimation for MIPS and SPARC processors, making use of acsynth generated tables. In most cases, the generated data is concatenated in internal processes managed by the framework itself. However, some tasks still rely on external tools, requiring manual intervention. The user must provide two files needed to integrate acsynth with other EDA tools: TCL script: must describe the steps for obtaining a feasible simulation netlist from the processor HDL description and the target frequency for the synthesis. In FPGA s case, it s also necessary to specify family, package and speed grade of the platform. For ASICs, the desired standard cells library must be indicated. Testbench: responsible for executing the initialization instructions block, storing the characterization program in an internal ROM or RAM and controlling the loop of this program. The clock must be set to the desired operation frequency and processor signals exported to a VCD file. The use of FPGAs introduces energy overhead over ASICs as a result of the programmable logic. Though, this overhead is not uniform, depending on size, number of components, voltage levels and operating frequencies supported by the platform. The classification into families points to the development metric prioritized, guiding designer s choice. ASIC standard cells also present variations among them according desired operating conditions. 2. Objectives The present work aims to expand the database of power consumption tables for MIPS-I and SPARCv8 architectures. The evaluated technologies are summarized in Table 1. Regarding the frequency, we sought to design a model that provides linear adjustment coefficients α k for each processor-platform pair (k) used for testing. With this, once a pair is simulated, it isn t necessary to make new simulations to obtain estimates for different frequencies. Table 1. Processor-platform pairs analyzed in this work. FPGA Manufacturer Family Model Package Speed Technology Simulation Frequency (MHz) Spartan3 XC3S1000 FT nm 40 / 50 / 150 / 300 / 320 / 350 / 450 /500 /550 Leon3 (Sparcv8) Xilinx Spartan6 XC6SLX75T FGG nm 40 Virtex5 XC5VLX50T FF nm 40 ASIC StdCell Technology Simulation Frequency (MHz) FreePDK 45nm (RVT TT - 1.1V) 10 / 50 / 100 / 125 / 150 / 160 FPGA Manufacturer Family Model Package Speed Technology Simulation Frequency (MHz) Spartan3E XC3S1200E FT nm 100 Xilinx Spartan6 XC6SLX75T FGG nm 20 /40 /100 /160 Virtex4 XC4VLX15 FF nm 100 Plasma (MIPS-I) Virtex5 XC5VLX50T FF nm 20 /40 /100 /160 Altera CycloneV 5CGXFC7C7 F nm 25 / 50 / 80/ 100 /125 /160 / 200 / 250 / 300 / 400 / 600 StratixIII EP3SL150 F nm 100 ASIC StdCell Technology Simulation Frequency (MHz) FreePDK 45nm (RVT TT - 1.1V) 50 / 125 / 250 / / 400 / 455

101 Resumos estendidos Methodology As shown in table 1, Plasma and Leon3 were used as representatives of MIPS and SPARC architectures. As memory and cache consumption are not being measured in this project, the Plasma s processor component was directly included in the testbench and, regardless of the address indicated, the program flow in the software implementation of memory was kept sequential, preventing access of illegal areas, even with the random parameters. However, for Leon3, the dependence between the processor and other modules of the AMBA platform required the use of a higher hierarchy level, being necessary to filter the data related to the processor. Also, since the memory was physically implemented as a sub-module of the top-level component, there was no way to intervene in the program flow, making it necessary to manually modify operands, to ensure valid addresses. In both cases, instructions with similar behavior were grouped and only one was simulated, having its value manually replicated in the corresponding gaps of CSV table. In a first stage, we focused on the analysis of FPGA platforms. Later, we extended acsynth framework to include support for ASICs. The external tools chosen for build and power analysis steps were Altera (Quartus and PowerPlay) and Xilinx (ISE and XPower), in FPGA s case, and Cadence RTL Compiler for the ASIC s flow. Regarding simulation, Mentor Modelsim and Cadence NCSim were used. Altera and Xilinx provide board specific libraries along their software. Cadence tools however require third-party cell libraries. We used FreePDK [Stine et al 2007], an open source 45nm Process Design Kit, which contains standard cell and pad libraries. For frequency analysis, timing reports were used to obtain a maximum frequency for the target pair into consideration. Subsequently, this value was set as a synthesis constraint. The netlist obtained was used for simulations in several lower frequencies FPGAs First, the simulations done by Guedes et al (2013) were repeated to validate the configured workspace. Next, it was evaluated the influence of process variables on results: synthesis parameters, random seed of placement tools, operands and number of iterations in characterization programs and operating frequency were analyzed. For this, three different sets of synthesis parameters were defined, with two syntheses executed for each of them. Then, one of the sets was chosen and, starting with 10, the number of iterations was increased at a step of 5, searching for a value that minimizes the influence of the initialization code over the estimates. The VCD size was used as stopping criterion, since XPower has a 2GB limitation. Finally, having the testbench and the TCL script fixated, the results of three sets of characterization programs were compared. While expanding the database, we observed that Leon3 estimates for Spartan6 were much higher than those for Spartan3 values and sought to investigate the causes of this discrepancy, since the results for Plasma had already confirmed the hypothesis that newer generations of a same family consume less dynamic power. It was verified that there was indeed an underestimation for Spartan3 and an overestimation for Spartan6, result of an unexpected behavior of EDA tools when recording signals of an inner component in the VCD file. For Spartan3, the information about the clock circuit had

102 101 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica been lost while for Spartan6, even with the restriction, the statistics of the entire network clock were recorded in the VCD file. The approach taken to solve this was to change the clock generator component, doubling the output of DCM and destining one of the signals to the processor and other to peripherals. With this, the power analyzer report contains, besides the values for logic and signals of the top-level component and of the processor, an estimate for the CPU s internal clock. In possession of this value, the total processor power is calculated as the sum of the clock, the internal logic and internal signals with a fraction of the energy consumed by the DCM, once this is a shared resource between the CPU and the other modules. In Spartan6 case, a simulation following the previous approach provides all the necessary information on the same report. For Spartan3, it was necessary to execute a simulation recording signals of the complete circuit, obtain the value of the clock and add it to the data obtained by a processor restricted simulation. For other platforms, it was necessary to make a restricted simulation and verify if the clock consumption was reported as zero. From there, we could adopt one of the above approaches ASICs Once our purpose was to show acsynth flow could be extended to ASIC targets, frequency was the only process variable analyzed in this case. Synthesis attributes values used were essentially the defaults of RTL Compiler. 4. Results For Plasma replications, in Spartan3E s case, 91.5 % of instructions had a deviation below 20%, with only slt, sltu and sra being above 30%. In Altera s case, deviation is below 20% for 81% of the instructions, being 68% of them below 10%. Jal presents the largest deviation (28.21%), followed by branches. Regarding Leon3, 89% of the instructions are below a 10% deviation. The largest one occurs for mulscc_reg (29.3%). While different syntheses with the same parameters generated identical results, the change of synthesis parameters caused a variation of up to 6% in consumption. Concerning the number of iterations, the stop criterion was achieved in 35. For xor_reg this value wasn t enough for complete convergence but wry_reg, for example, accomplished it in 15 iterations. For distinct characterization programs, mulscc_reg instruction presented the largest deviation, 16.7%, what would be expected since multiplication instructions depend on operands values. So it is concluded that, despite the random parameters, the optimization step of routing tools converge to similar results, but the parametric decisions made by the designer can significantly impact system operation. As expected, estimates for Plasma instructions on Spartan and Virtex platforms were lower for newer generations. Between families, the hypothesis that Spartan would have lower consumption than Virtex was confirmed for 90nm platforms. However, the comparison of Virtex 5 and Spartan 6 running at 100MHz presented some instructions with lower values for Virtex. As Spartan family presupposes lower operating frequencies, we plotted Power versus Frequency curves to evaluate whether this comportment was kept at lower frequencies. Instructions which had already lower values for Spartan maintained this behavior, with an enlarged difference. Most

103 Resumos estendidos 102 instructions that at 100 MHz had lower consumption for Virtex reversed this metric at 40MHz. 32-bits load and store only reversed the situation around 15 MHz. For Leon3, the clock adjust methodology described in section 3 has been adopted. Using Spartan3 and Virtex5, the clock value was the same for all instructions and independent of the number of iterations of the characterization program. Thus, it was sufficient to add 14.6 mw and mw, respectively, to the partial results obtained with a restricted simulation. However, for Spartan6, the clock consumption varied among instructions, although independent of the number of iterations. The analysis of the dependence between dynamic power and operating frequency confirmed the hypothesis of linear relation. The maximum frequency reported for the pair Plasma-CycloneV was 400 MHz. As can be seen in Figure 3, below this limit the linear regression coefficient is greater than For faster simulations, the framework cannot predict what would be the system behavior. A point out the range was included to exemplify this effect, but it wasn t used to calculate the regression model. For Leon3-Spartan3, the maximum indicated was 500MHz. Higher values prevented circuit operation but beyond 320 MHz estimates already slightly decrease or start increasing slowly, affecting the linear model. So, we chose to use this transition value as upper limit indicated in CSV tables. ASIC curves required a similar approach: for Plasma, synthesis indicated a 600 MHz limit but 400 MHz was identified as a behavioral change point and then imposed as limit; for Leon3, the limit pointed was 160 MHz but beyond 150 MHz power profile is affected. Figure 3. Power vs Frequency for MIPS instructions in CycloneV Figure 4. Power (mw) vs Time (s) for a Quad-MIPS-Spartan3 running basicmath Though the model is applicable, the slope is not the same among the analyzed instructions, ranging from (0.49 ± 0.01) to (2.10 ± 0.01) mw/hz for Plasma-Cyclone, from (0.156 ± 0.004) to (0.169 ± 0.06) mw/hz for Leon3-Spartan3, from (32.15 ± 0.02) to (48 ± 1) µw/hz for Plasma-ASIC and from (543.1 ± 0.1) to ( ± ) µw/hz for Leon3-ASIC. This difference also occurs for the other pairs analyzed. Even with a larger die, ASIC circuit had power estimates 17 to 43 times lower than that implemented in CycloneV. This enforces the programmable logic overhead. This comparison also revealed that, in FPGA s case, critical operation conditions took place for memory access instructions while for ASICs this behavior was associated with arithmetic instructions. This is probably due the fact we are modeling only the processor

104 103 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica core so memory instructions uses signals which pass through circuit s pads. This is relevant once FPGAs includes extra control logic for IOs. Figure 4 exemplifies an output of MPSoCBench using acsynth tables for energy profiling of a quad-core MIPS in Spartan 3 platform. References Duenha, L., Almeida, H., Guedes, M., Boy, M. and Azevedo, R. (2014) MPSoCBench: A Toolset for MPSoC System Level Evaluation, In: Proceedings of the International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation. Guedes, M., Auler, R., Duenha, L., Borin, E. and Azevedo, R. (2013) An automatic energy consumption characterization of processors using ArchC, In: JSA. Tiwari, V., Malik, S., Wolfe, A. and Lee, M. (1996) Instruction level power analysis and optimization of software, In: Journal of VLSI Signal Processing, vol.13, pages Stine, J.E., Castellanos, I., Wood, M., Henson, J., Love, F., Davis, W.R. ; Franzon, P.D., Bucher, M. ; Basavarajaiah, S. ; Julie Oh ; Jenkal, R. (2007) FreePDK: An Open- Source Variation-Aware Design Kit, In: Proc. IEEE Int l Conf. Microelectronic Systems Education, IEEE CS, pp

105 Resumos estendidos 104 Uma abordagem caixa-branca para teste de transformação de modelos Érika R. C. de Almeida 1, Eliane Martins 1 1 Instituto de Computação Universidade Estadual de Campinas (Unicamp) Caixa Postal Campinas SP Brasil ra043217@students.ic.unicamp.br, eliane@ic.unicamp.br Abstract. Model transformations are the core elements of Model Driven Engineering (MDE). They should be developed according to the same software engineering patterns that are applied for a software system. Testing a model transformation is different from common software testing due to the complexity of the test data and the heterogeneity of the transformation languages. There are few approaches that try to automate one of the model transformation testing s steps. Our proposal is creating a white box approach for test input generation that is independent from the model transformation language. This proposal is based on domain specific languages (DSLs). The advantage of our proposal, besides being language-independent, is it can be used in any phase of the model transformation development, even when the documentation is not completed. Resumo. Transformações de modelo são os pilares de Engenharia Dirigida por Modelo (MDE). Elas devem ser desenvolvidas com os mesmos padrões de engenharia que são aplicados nos sistemas de software. Testar uma transformação de modelo é diferente de realizar o mesmo processo para um software comum devido à complexidade dos dados de teste e à heterogeneidade das linguagens de transformação. Existem abordagens que tentam automatizar algum dos passos do teste da transformação. Nossa proposta é criar uma abordagem caixabranca para geração dos dados de entrada que é independente da linguagem de transformação. Esta proposta é baseada em linguagens específicas de domínio (DSLs). As vantagens da nossa abordagem são: independência da linguagem de transformação e que ela pode ser aplicada em qualquer fase de desenvolvimento da transformação, mesmo que a documentação não esteja completa. 1. Contexto Tranformações de modelo são os pilares de Engenharia Dirigida por Modelo (MDE) e, sendo assim, devem ser desenvolvidas aplicando-se os princípios de engenharia para garantir sua corretude [Guerra 2012]. Uma transformação de modelo é o artefato essencial na aplicação de MDE, pois ela representa as regras que devem ser aplicadas para que, dado um modelo de entrada, se obtenha o respectivo modelo de saída. Quando se faz o design de uma transformação de modelo, leva-se em conta o formato do modelo de entrada, chamado de metamodelo de entrada, e do modelo de saída (metamodelo de saída), sendo que, dessa forma, é possível fazer sua reutilização todas as vezes que se tem uma instância do metamodelo entrada X e se deseja obter uma instância do metamodelo de saída Y.

106 105 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Utilizando termos de MDE, as transformações de modelo são usadas para refinar modelos independentes de plataforma 1 ou para transformá-los em modelos específicos de plataforma 2. A Figura 1 ilustra o processo da abordagem MDE. A abordagem MDE se completa com a geração do código fonte do sistema, a partir do PSM, por um mapeamento, também chamado de transformação modelo-texto [Dai 2004]. Vale ressaltar que o PIM e o PSM são instâncias de um metamodelo que especifica os elementos do modelo e como podem ser as relações entre esses elementos. Figure 1. Processo de transformação entre os modelos na abordagem MDE Como a transformação de modelo é reutilizada muitas vezes e é possível que um sistema de software inteiro seja construído com a mesma transformação de modelo, é essencial que ela esteja correta [Baudry et al. 2010] e para garantir isso devem ser aplicadas técnicas de Verificação e Validação (V&V). Em [Selim et al. 2012], discute-se sobre teste ser a forma mais eficiente e simples para verificar se uma transformação de modelo está correta. Mesmo que, ao contrário de métodos formais, a atividade de teste não possa garantir a ausência de bugs, ela tem suas vantagens, como a possibilidade de testar uma transformação de modelo em seu ambiente de produção. Entretanto, existem algumas dificuldades nos testes de transformação de modelos, como o fato de que as entradas não são dados simples, mas modelos, que são estruturas de dados complexas (os dados de entrada são modelos que devem estar em conformidade com o metamodelo de entrada), a falta de ferramentas de gerenciamento e a heterogeneidade das linguagens de escrita das transformações de modelo. Além disso, a obtenção do oráculo de teste 3 é outro problema bastante difícil de ser resolvido nesta área [Baudry et al. 2006]. Não são muitas as propostas na literatura para o problema de testar transformações de modelo, mas as existentes se focam na geração dos dados de teste (modelos de teste) ou na geração do oráculo (ou oráculo parcial) de teste. As abordagens podem ser classificadas em caixa-preta ou caixa-branca [González and Cabot 2012], a depender se o código fonte da transformação de modelo é levado em consideração. 1 O Modelo Independente de Plataforma (PIM) representa parte da lógica do sistema e algumas considerações técnicas. 2 O Modelo Específico de Plataforma (PSM) é um refinamento de um PIM e é descrito em termos específicos de uma plataforma onde o sistema é implementado. 3 O oráculo de teste é o procedimento responsável por decidir se um teste obteve ou não sucesso [de Farias 2003].

107 Resumos estendidos Objetivos Nossa proposta é gerar automaticamente os dados de entrada do teste de transformação de modelo usando a técnica de teste caixa-branca, mas independente da linguagem de transformação de modelo. Para tornar a abordagem independente da linguagem da transformação de modelo, faremos uso de linguagens específicas de domínio, chamadas DSLs. Dessa forma, além da vantagem de ser independente da linguagem, outra vantagem é que nossa abordagem poderá ser aplicada em qualquer fase do desenvolvimento da transformação, mesmo se a documentação não estiver completa. 3. Trabalhos relacionados Grande parte dos trabalhos sobre teste de transformações de modelo dedica parte do texto a falar das dificuldades encontradas. Além dos fatores citados anteriormente, existe também o problema das cadeias de transformações, nas quais pode haver uma mistura de linguagens de transformação de modelo. Ainda pode-se citar o fato de que, em muitos casos, a especificação da transformação de modelo não está disponível para ajudar no processo de elaboração dos casos de teste [Tiso et al. 2012]. Usualmente divide-se o processo de teste de transformação de modelos em 4 etapas: (i) geração dos dados de teste, (ii) avaliação da qualidade dos dados de teste, (iii) geração do oráculo de teste e (iv) execução da transformação de modelo e comparação dos resultados obtidos com os resultados esperados [Selim et al. 2012]. Dentre as propostas para geração dos dados de teste, Brottier et al. [Brottier et al. 2006] definiram um algoritmo que, a partir do metamodelo de entrada e de fragmentos de modelos 4 (fornecidos pelo testador ou derivados do metamodelo de entrada), produz um conjunto de modelos de teste. Eles especificam as partes do metamodelo que devem ser instanciadas com valores específicos que são interessantes para o teste, como uma partição de equivalência. Então, dadas as entradas, o algoritmo consiste em combinar fragmentos de modelo e completá-los para construir instâncias válidas do metamodelo. Outra abordagem também caixa-preta para geração dos dados de teste é proposta por Guerra [Guerra 2012], na qual é criada uma linguaguem para especificação da transformação de modelo para se derivar tanto os dados de teste como o oráculo de teste. Tal linguagem é usada na especificação dos requisitos dos modelos de entrada da transformação (pré-condições), propriedades esperadas (pós-condições), bem como as propriedades que devem ser satisfeitas antes e depois de uma transformação (invariantes). Os dados de teste são obtidos a partir da especificação usando solvers 5. Esta abordagem é diferente das demais, pois leva em conta as propriedades de interesse da especificação, enquanto as demais propostas normalmente usam o metamodelo de entrada ou a própria transformação. Outro fato interessante é o uso do mesmo artefato para geração dos dados de entrada e do oráculo. Segundo os autores, esta é uma vantagem, 4 Um fragmento de modelo é composto de um conjunto de fragmentos de objeto. Um fragmento de objeto, por sua vez, é um conjunto de restrições de propriedade que especificam os intervalos que devem exercitados. 5 Um solver é um software que tenta encontrar um modelo de entrada que atenda as condições que são colocadas para este modelo [Guerra 2012].

108 107 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica entretanto, deve-se lembrar que se houver um erro na especificação, este não será descoberto. Uma das poucas abordagens caixa-branca para geração dos dados de teste é chamada ATLTest [González and Cabot 2012]. Em um processo tradicional de teste caixa-branca, normalmente se tem dois passos: obtenção de um grafo de fluxo de controle ou um grafo de fluxo de dados a partir do código fonte e geração do conjunto de dados de teste a partir do percurso de um desses grafos usando-se um critério de teste (ou critério de cobertura). Embora seja essencialmente o mesmo, o processo de geração de teste com ATLTest apresenta algumas diferenças basicamente devido ao misto de construções declarativas e imperativas de ATL e à natureza complexa das transformações de modelo. O processo consiste de 3 passos: Obtenção de um grafo de dependência (que tem o mesmo papel do grafo de fluxo de controle ou dados na abordagem tradicional). Percorrer o grafo com um critério de cobertura. Isso significa atribuir valores booleanos para as diferentes condições e, cada percurso implicará em um conjunto de condições que simboliza um conjunto de dados de teste relevantes para transformação. Uso de solvers para gerar os modelos de testes. Diferentemente das propostas de geração de dados de teste, Fleurey et al. [Fleurey et al. 2009] criou uma abordagem para avaliar os dados de teste com relação à cobertura dos requisitos de teste do metamodelo de entrada. Tal abordagem também usa os conceitos de fragmentos de modelo e avalia se os dados de teste estão cobrindo todos os fragmentos de acordo com o critério escolhido (são disponibilizados dos critérios de cobertura na ferramenta desenvolvida pelos autores). Mesmo que seja mais popular o uso de técnicas caixa-preta por serem independentes da linguagem em que a transformação de modelo é implementada, os autores de ATLTest defendem que, quando é feita a implementação, é muito difícil que já se tenha uma especificação formal em mãos, tornando mais difícil a aplicação de técnicas caixapreta. Já o problema do oráculo é considerado mais difícil de ser resolvido. Existem algumas propostas, como a abordagem que cria oráculos parciais através de contratos, fazendo uso da linguagem OCL 6. Em [Baudry et al. 2006], são apresentados 3 tipos de contrato que podem ser usados como oráculos parciais: na especificação da transformação, sobre o modelo de saída e da transformação (dividida em subtransformações). 4. Método e resultados esperados Dado o fato de existirem poucas abordagens de teste de transformação de modelos e, das abordagens que são caixa-branca para geração dos dados de teste, todas serem dependentes da linguagem da transformação de modelo, nossa proposta é criar uma nova abordagem caixa-branca para geração dos dados de teste que seja independente da linguagem de transformação. 6 A Object Constraint Language (OCL) é uma linguagem declarativa criada para especificar propridades de modelos de modo formal, porém compreensível [Richters and Gogolla 1998].

109 Resumos estendidos 108 Devido a necessitar apenas do código fonte da transformação, a abordagem poderá ser utilizada em qualquer fase do desenvolvimento da transformação, pois não requer que a especificação esteja completa. Nossa proposta tem 3 passos que são semelhantes aos da abordagem ATL- Test [González and Cabot 2012], mas os dados de entrada e os artefatos intermediários são diferentes. Primeiramente, para que seja uma abordagem independente da linguagem de transformação, utilizaremos o conceito de linguagem específica de domínio (DSL), uma vez que criaremos um formato DSL para que a transformação de modelo escrita em qualquer linguagem de transformação possa ser convertida para nosso formato e se possa aplicar nossa abordagem de teste. Com o código fonte da transformação no formato DSL inicia-se os 3 passos para geração dos dados de teste, sendo que os dois últimos são semelhantes ao da proposta ATLTest, variando apenas os critérios de cobertura utilizados. Com relação ao primeiro passo, ao invés de grafo de depedência, nossa proposta é utilizar um diagrama de estados, pois ele é simples de ser utilizado e analisado. Dessa forma, será possível também verificar através do diagrama de estados se existe algum erro na transformação. Para validar nossa proposta, serão seguidos os passos abaixo: Definição do formato DSL para representar o código fonte das transformações de modelo. Definição dos passos de conversão do formato DSL para o diagrama de estados. Definição dos critérios de cobertura do diagrama de estados que poderão ser aplicados em nossa abordagem. Aplicação prática em um exemplo real: - Criação de um conversor da linguagem ATL (mais utilizada nas aplicações de MDE) para o formato DSL. - Conversão de uma transformação de modelo escrita em ATL para o formato DSL. - Geração do diagrama de estados e variação dos critérios de cobertura. - Geração dos dados de teste. - Validação dos dados de teste. Para assegurar que serão gerados bons dados de teste, que, no caso, são os modelos de entrada da transformação de modelo, usaremos a ferramenta de Fleurey et al. [Fleurey et al. 2009] que verifica qual a cobertura dos fragmentos de modelo obtidos através do metamodelo de entrada. Além disso, uma outra opção para garantir a qualidade dos dados de teste é a aplicação da técnica de mutantes, como citado em [Mottu et al. 2006]. 5. Conclusão Este trabalho tratou da necessidade e das principais abordagens para teste de transformação de modelo, podendo ser aplicadas técnicas de caixa-preta, como caixabranca. Além disso, muitas abordagens tendem a gerar automaticamente alguns dos artefatos necessários para o processo de teste, tais como os dados de entrada ou os oráculos de teste.

110 109 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Foi apresentada também nossa proposta para trabalho de doutorado que consiste em uma nova abordagem para geração dos dados de teste para teste de transformação de modelo. Nossa abordagem utilizada a técnica caixa-branca e tem como vantagens o fato de ser independente da linguagem de escrita da transformação e de poder ser aplicada em qualquer fase do desenvolvimento da transformação. Foram também descritos quais serão os passos para que esta abordagem seja efetivamente concluída, sendo que é importante citar que para validá-la utilizaremos exemplos reais, diferentemente de muitos trabalhos na literatura que só aplicam exemplos simples. References Baudry, B., Dinh-Trong, T., Mottu, J.-M., Simmonds, D., France, R., Ghosh, S., Fleurey, F., Le Traon, Y., et al. (2006). Model transformation testing challenges. In ECMDA workshop on Integration of Model Driven Development and Model Driven Testing. Baudry, B., Ghosh, S., Fleurey, F., France, R., Le Traon, Y., and Mottu, J.-M. (2010). Barriers to systematic model transformation testing. Communications of the ACM, 53(6): Brottier, E., Fleurey, F., Steel, J., Baudry, B., and Le Traon, Y. (2006). Metamodelbased test generation for model transformations: an algorithm and a tool. In Software Reliability Engineering, ISSRE th International Symposium on, pages IEEE. Dai, Z. R. (2004). Model-driven testing with uml 2.0. Computer Science at Kent, page 179. de Farias, C. M. (2003). Um método de teste funcional para verificação de componentes. PhD thesis, Universidade Federal de Campina Grande. Fleurey, F., Baudry, B., Muller, P.-A., and Le Traon, Y. (2009). Qualifying input test data for model transformations. Software & Systems Modeling, 8(2): González, C. A. and Cabot, J. (2012). ATLTest: a white-box test generation approach for ATL transformations. Springer. Guerra, E. (2012). Specification-driven test generation for model transformations. In Theory and Practice of Model Transformations, pages Springer. Mottu, J.-M., Baudry, B., and Le Traon, Y. (2006). Reusable mda components: a testingfor-trust approach. In Model Driven Engineering Languages and Systems, pages Springer. Richters, M. and Gogolla, M. (1998). On formalizing the uml object constraint language ocl. In Conceptual Modeling ER 98, pages Springer. Selim, G. M., Cordy, J. R., and Dingel, J. (2012). Model transformation testing: the state of the art. In Proceedings of the First Workshop on the Analysis of Model Transformations, pages ACM. Tiso, A., Reggio, G., and Leotta, M. (2012). Early experiences on model transformation testing. In Proceedings of the First Workshop on the Analysis of Model Transformations, pages ACM.

111 Resumos estendidos 110 Uma Solução para Monitoração de Serviços Web Baseada em Linhas de Produtos de Software Rômulo J. Franco 1, Cecília M. Rubira 1 1 Instituto de Computação Universidade Estadual de Campinas {romulo, cmrubira}@ic.unicamp.br Resumo. Apresentamos uma solução de monitoração de serviços Web que visa monitorar valores de atributos de QoS, bem como, permitir a compreensão dos fatores da degradação dos atributos de QoS no contexto de um processo de monitoração. A solução adota métodos baseados em Linhas de Produtos de Software para explorar a variabilidade de software existente em sistemas de monitoração, gerando uma família de monitores em atendimento a diferentes atributos de QoS, diferentes recursos de TI como alvos, onde diferentes modos de operação podem ser aplicados. Mostramos por meio de um estudo de caso, a viabilidade da solução, obtendo-se resultados efetivos para a monitoração da entrega de valores de atributos de QoS e na compreensão da degradação dos atributos em termos do contexto onde o serviço foi inserido. Abstract. We present a solution for monitoring Web services that aims to monitor QoS attributes. Solution has a comprehensive way to understand factors of QoS attributes degradation because it is applied in the monitoring process context. Solution adopts methods based on Software Product Lines to explore variability existing software systems for monitoring, generating a monitors family in response to different QoS attributes, different resources as targets and, different operating modes can be applied. We show through a case study, the feasibility of solution, obtaining effective results in delivering QoS attributes and understanding the degradation these attributes in Web services context. 1. Contexto Sistemas de monitoração de serviços Web são utilizados atualmente em apoio à forte expansão de modelos como Arquitetura Orientada a Serviços (SOA). A adoção de métodos como Linhas de Produtos de Software (LPS) está interrelacionada com modelos como SOA, uma vez que ambos apóiam a reutilização de software. Devido às propriedades inerentes de SOA, tais como, dinamicidade, heterogeneidade, distribuição, autonomia dos serviços e a incerteza do ambiente de execução, atributos de qualidade de serviço (QoS) podem sofrer flutuações em seus valores ao longo do tempo (e.g. disponibilidade e desempenho) [1]. Consequentemente, é necessário monitorar serviços ao longo do tempo a fim de garantir que tais serviços apóiem o nível de qualidade esperado, ou seja, definido pelo provedor do serviço. Este trabalho tem por objetivo apresentar uma solução que monitora um conjunto de atributos de QoS como disponibilidade, desempenho e confiabilidade. Em diferentes alvos da monitoração, como serviços Web, servidores, aplicação servidora e a rede de comunicação. Diferentes modos de obter dados relacionados a esses atributos são também

112 111 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica aplicados, como por exemplo, por meio da invocação ao serviço ou por interceptação de mensagens. Como consequência da identificação da variabilidade de software, adotamos técnicas de Linhas de Produtos de Software (LPS) como base para solucionar o problema. A visão original da LPS é formada por um domínio concebido a partir das necessidades do negócio, formulado como uma família de produtos e com um processo de produção associado [6]. Este domínio apóia a construção rápida e evolução de produtos personalizados conforme mudanças nos requisitos dos clientes. Variabilidade de Software é um conceito fundamental em LPS e refere-se a capacidade de um sistema de software ou artefato ser modificado, personalizado ou configurado, para ser utilizado em um contexto específico [7]. Variabilidades de software podem ser representadas por meio de um modelo de características, onde há uma classificação, separando características comuns das variáveis em sistemas [5]. Esta classificação ainda pode ser mais detalhada separando-as em opcionais, alternativas e obrigatórias [3]. 2. Solução Proposta Tipicamente, a monitoração de serviços Web pode ser realizada por meio da interceptação de mensagens e testes de uso do serviço efetuando invocações sobre ele e obtendo-se respostas para análise posterior. Quando alguma anomalia é detectada ocorre a notificação dos interessados na monitoração Taxonomia proposta para monitoração de serviços Web Uma revisão sistemática da literatura foi efetuada para apoiar a identificação de características. Esta revisão foi executada baseada nas diretrizes da Engenharia de Software Experimental propostas por Kitchenham (2004). A revisão nos apoiou de forma progressiva no refinamento de uma taxonomia criada para atender a solução e permitiu entender os diferentes elementos necessários que compuseram a taxonomia. Além disso, a revisão nos forneceu com mais acurácia as lacunas não preenchidas deixadas pelas soluções existentes. Tentamos com nossa solução, preencher estas lacunas criando uma solução melhorada para monitorar serviços Web. Para realizar este tipo de monitoração questões básicas de projeto devem ser consideradas: 1) Onde ocorrerá a monitoração (alvo)? 2) O que se deseja obter com a monitoração ou o que deveria ser monitorado (atributos de QoS)? 3) De que modo isso pode ser realizado (modo de operação)? 4) Qual a frequência da monitoração? 5) Quais os meios de se obter resultados ou alertas gerados pela monitoração (notificação)? Estas questões podem ser mapeadas em uma classificação para monitoração de serviços Web, como descrito a seguir Alvos da Monitoração A taxonomia de monitoração é composta por um conjunto de alvos, como: um ou mais Serviços, que são mantidos em uma Aplicação Servidora (e.g. Apache Tomcat 1 ), que por sua vez está instalado em Servidor contendo recursos como memória e disco rígido; por fim, a comunicação entre serviços diretamente é realizada pela Rede, a partir de um endereço IP. 1 Aplicação Servidora - Apache Tomcat -

113 Resumos estendidos Atributos de QoS O objetivo primário da monitoração é a coleta de informações relacionadas a atributos de QoS. Posteriormente, ao aplicar a monitoração, os resultados provenientes desta, podem ser usados para fins específicos, como por exemplo, aperfeiçoar a qualidade do serviço. São considerados neste caso, os atributos de QoS separados por alvo conforme Tabela 1. Tabela 1. Atributos de QoS por alvo de monitoração Atributo de QoS Serviço Servidor Aplicação Servidora Rede Desempenho Disponibilidade Confiabilidade Acurácia Robustez Condição do hardware Falhas detectadas em Logs Os atributos de QoS relacionados ao serviço, são atributos contidos no modelo recomendado pela W3C [9]. Demais recursos monitorados como no servidor e arquivos de log da Aplicação Servidora apoiam a compreensão de fatores ligados a degradação de atributos de QoS [10] Modo de Operação Os atributos de QoS podem ser obtidos por meio de eventos temporais onde pode ser aplicado os modos de operação por invocação e/ou interceptação ao serviço, coletando métricas via cálculos dos tempos de invocação, processamento e tempo de resposta. Atributos de QoS como disponibilidade, desempenho e acurácia estão ligados a eventos temporais; e também por meio do modo de operação por inspeção do estado e condição de recursos como discos, memória ou identificar falhas em arquivos de log Frequência de Execução A frequência da monitoração pode ser contínua ou intermitente. A monitoração também pode ser acionada mediante o uso do serviço por uma aplicação terceira, a ferramenta de monitoração fica aguardando uma requisição. Este tipo de frequência configura uma monitoração passiva, e torna a monitoração não pró-ativa com valores de atributos de QoS desatualizados Tipo de Notificação Por fim, a notificação aos interessados na monitoração pode ser realizada através de envio de mensagem ou salvar os resultados em arquivos de log. 3. Estudo de caso Apresentamos agora um estudo de caso que possibilitou avaliar a viabilidade da solução proposta. O principal problema que o estudo de caso visa atender, é demonstrar a capacidade da solução em identificar a degradação de um atributo de QoS em uma composição de serviços. Onde têm-se diversos provedores com seus serviços, diversos recursos como

114 113 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica servidores, aplicação servidora e a rede de comunicação, e que todos estes são passíveis de falhas. Quando uma falha ocorre, implica em degradar um dado atributo de QoS. Como há muitos recursos, torna-se difícil monitorar todos de forma efetiva. Neste caso, uma família de monitores é gerada para atender ao cenário que exemplificamos aqui. Ao final da monitoração, os dados podem ser cruzados para saber quem é o responsável pela degradação, tanto em nível de provedores, quanto em nível de recursos. De acordo com a Figura 1 consideramos um cenário controlado simulando um cenário típico de SOA. Este cenário é composto por provedores de serviços simples (e.g. Provedor A e Provedor B) e um provedor de serviço composto, sendo o Provedor Master e o Consumidor A. Outros recursos que também são considerados no cenário são: o objeto Gateway e um objeto IP Público (Google). A Figura 1 também apresenta a identificação de cada monitor no cenário por meio de círculos enumerados. Note na Figura 1 que cada monitor foi gerado pela LPS a atender de forma específica e foi inserido de forma estratégica a coletar valores de atributos de QoS dos alvos. Os monitores gerados são para monitorar 1) Disponibilidade; 2) Desempenho; 3) Rede (incluindo gateways, roteadores e IP Público Google); 4) Servidor; 5) Confiabilidade e 6) Aplicação Servidora. Em resumo, foi gerado uma família de produtos baseado em LPS (e.g. monitorardisponibilidade.jar, monitorardesempenho.jar, etc). Figura 1. Cenário controlado composto por provedores, consumidores e os monitores inseridos de foram estratégica nos alvos a serem monitorados A execução dos seis monitores, de forma a atender ao cenário definido na Figura 1, durou 14 horas de monitoração. Este tempo foi necessário para garantir a qualidade dos dados do estudo. Após vários testes com diferentes intervalos, conseguimos encaixar nestas 14 horas, a execução de quatro intervenções no cenário controlado. Intervenções estas, como por exemplo, na primeira hora, desligar interface de rede do Provedor Master, as

115 Resumos estendidos 114 demais intervenções foram desligar serviços e recursos. Estas intervenções foram executadas em intervalos de tempos estrategicamente definidos para gerar anomalias no cenário e capturar informações sobre a qualidade dos dados gerados provenientes da monitoração. A partir dos valores entregues para cada atributo de QoS, foi possível cruzar dados de diferentes monitores e identificar de onde de fato ocorria a degradação de um atributo de QoS. O gráfico na Figura 2 apresenta um dos cruzamentos obtidos. Figura 2. Gráfico representando o resultado da intervenção aplicada sobre o cenário do estudo de caso No caso apresentado na Figura 2, mesmo que o Provedor Master não soubesse da indisponibilidade proveniente de uma intervenção na primeira hora, a monitoração do Provedor A sobre o Provedor Master e sobre o IP Público do Google iria garantir a precisão do diagnóstico oferecido pela solução de monitoração. Assim, mesmo que o Provedor Master queira eventualmente se isentar de culpa da degradação, o Provedor A pode apontar o real causador da degradação, para este caso. Os resultados obtidos foram do monitor de rede apontado para IP Público Google (Monitor 3 da Figura 1) e monitor de disponibilidade do serviço do Provedor Master (Monitor 2 da Figura 1)). 4. Conclusões A adoção de técnicas de LPS contribuiu em possibilitar a geração de uma família de monitores. De acordo com o estudo de caso representado na Seção 4 vários monitores foram gerados em atendimento ao cenário e estabelece uma das possibilidade que a solução oferece. Onde vários monitores da família foram gerados para monitorar diferentes alvos e obter valores de diferentes atributos de QoS de cada alvo. Sendo assim, os resultados provenientes da monitoração em cada alvo, foi possível então, cruzá-los para identificar onde de fato estava a degradação de um dado atributo de QoS. Outras possibilidades podem ser exploradas pela solução. Como por exemplo, ser aplicado na violação de Acordos em Nível de Serviço (do inglês Service Level Agreement - SLA). Também pode ser aplicada por administradores de rede na identificação de problemas nos recursos de infraestrutura de TI. Estas possibilidades de aplicação da solução, provém da flexibilidade obtida pela adoção de técnicas de LPS. A flexibilidade aqui mencionada, está ligada em atender um

116 115 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica conjunto de atributos de QoS. Os valores destes atributos são também obtidos em diferentes alvos. Em relação a atributos de QoS, a flexibilidade nestes tipos de solução tem em seu maior nível de flexibilidade, quando qualquer atributo de QoS pode ser incluído/- removido da solução. Porém, nem todos atributos podem ser obtidos somente a um modo de operação. E portanto, a nossa solução permite operar também em diferentes modos de operação. Entretanto, avaliamos em nossos estudos internos um total de 7 atributos de QoS, com diferentes modos de operação, em diferentes alvos da monitoração. A execução dos estudos de caso mostraram também que a solução tem vantagens quando comparada com soluções existentes, como em [1, 4]. Contudo, algumas limitações foram identificadas, tais limitações podem ser exploradas em trabalhos futuros, como: 1) Monitorar Serviços Web com protocolo REST; 2) Incluir protocolos de comunicação TCP/ICMP no modelo de característica; 3) Monitoração autoadaptativa, onde a monitoração compreende e atua no ambiente para tomar decisões sobre o impacto da própria monitoração. Referências [1] F. Souza, D. Lopes, K. Gama, N. S. Rosa, and R. Lima (2011). Dynamic event-based monitoring in a soa environment. In OTM Conferences. [2] B. Wetzstein, P. Leitner, F. Rosenberg, I. Brandic, S. Dustdar, F. Leymann. (2009). Monitoring and Analyzing Influential Factors of Business Process Performance. EDOC, [3] H. Gomaa. (2004) Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison Wesley Longman Publishing Co., Inc., Redwo o d City, CA, USA. [4] L. Baresi, S. Guinea, M. Pistore, M. Trainotti. (2009) Dynamo + Astro: An Integrated Approach for BPEL Monitoring. ICWS 2009: [5] Clements, P. and Northrop, L. (2001) Software product lines: practices and patterns. Addison Wesley Longman Publishing Co., Inc., Boston, MA, USA, [6] G. H. Campbell. Renewing the product line vision. In Proceedings of the th International Software Product Line Conference, Washington, DC, USA, IEEE Computer Society [7] J. V. Gurp, J. Bosch, and M. Svahnb erg. (2001) On the notion of variability in software product lines. In Proceedings of the Working IEEE/IFIP Conference on Software Architecture, WICSA 01, Washington, DC, USA, IEEE Computer Society. [8] B. Kitchenham. Procedures for performing systematic reviews. Technical Report Technical Report TR/SE-0401, Keele University and NICTA, [9] W3C. QoS for Web Services: Requirements and Possible Approaches, W3C Working Group Note 25 November 2003 [10] H. Ludwig. Web services QoS: external SLAs and internal policies or: how do we deliver what we promise? Fourth International Conference on Web Information Systems Engineering Workshops. 4: , Dec

117 Resumos estendidos 116 User Association and Load Balancing in HetNets Alexandre T. Hirata 1, Eduardo C. Xavier 1, Juliana F. Borin 1 1 Institute of Computing University of Campinas (Unicamp) Campinas SP Brazil ahirata@lrc.ic.unicamp.br, {eduardo,juliana}@ic.unicamp.br Abstract. HetNets come as a clever approach to increase the capacity and the coverage of cellular networks in which low power base stations can share the load of high power ones. However, it also brought some problems and user association strategies used on homogeneous networks are no longer so efficient. In this work, this problem is modeled as an integer linear programming (ILP) problem and LP GREEDY, an heuristic based on it, is presented. This heuristic produces good solutions in terms of number of accepted users and load balancing among base stations in comparison with the optimal solution and with some strategies presented in the literature. Resumo. HetNets apareceram como uma solução interessante para aumentar a capacidade e a cobertura de redes de telefonia celular nas quais estações rádiobase de baixa potência podem compartilhar a carga dos de mais alta potência. Entretanto, isto trouxe alguns problemas e estratégias para associação de usuários utilizadas em redes homogêneas não se mostram mais tão eficientes. Neste trabalho, este problema é modelado como um problema de programação linear inteira e LP GREEDY, uma heurística baseada neste modelo, é apresentada. Este heurística obtém boas soluções em termos de número de usuários aceitos e balanceamento de carga entre estações base em comparação à solução ótima e com relação a algumas estratégias apresentadas em outros trabalhos. 1. Introduction HetNets (Heterogeneous Networks) have been proposed to increase the capacity of wireless networks by introducing pico cells into the existing coverage area of the macro cells resulting in significant increase in user data throughput [Andrews et al. 2014]. They are composed of macro cells, pico cells and femto cells (tiers 1, 2 and 3 respectively). Tier 1 cells have more capacity, bigger coverage area, greater power transmission and higher signal strength in comparison to tier 2 and so on. Macro cells, created by base stations (BS) called enodeb, are usually deployed by the carriers, so they are spread in a way to maximize the coverage. Pico cells are deployed in high density areas to share the macro cell load or to extend its coverage area and so do the femto cells but with less power. Both pico and femto cells deployment is not necessarily planned so it is feasible to model their positions randomly. The capacity of the cells can be measured in Physical Resource Blocks (PRBs) which is the minimum unit of resource that can be allocated to a user equipment (UE). A UE is any sort of equipment that makes use of one of these services through the cellular network. Moreover, it may be in the coverage area of one or more cells. A service can be

118 117 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica any kind of telecommunications service such as a call, a text message, a video conference or an audio streaming. In homogeneous networks, mobile phones used to connect to the base station with the best signal strength in order to provide a better user experience but, in HetNets, this strategy would make all mobile phones to connect to macro cells while the pico and femto cells would receive little or no load. The telecommunications industry is also looking for alternatives to relieve the load of the cellular networks. VoWifi (Voice over Wi-Fi) is one of the efforts towards this goal. The idea is to use the Wi-Fi connection as much as possible to place calls instead of using the conventional cellular network. This paper presents a formulation in integer linear programming (ILP) of the user association and load balancing problem in HetNets and also an heuristic, LP GREEDY, based on a greedy strategy which is applied to the solution given by a relaxed version of the ILP model. 2. Related Work [Viering et al. 2009] introduced a mathematical framework for quantitative investigations of self-optimizing wireless networks with focus on LTE. It was applied to a simple algorithm that adjusts the cell-specific handover thresholds aiming the load balancing and reducing the number of unsatisfied users. [Lobinger et al. 2010] presented the results of simulations of a self-optimizing load balancing algorithm in a LTE network. This algorithm distributes the load of overloaded cells to ther neighbor ones. Similarly, [Siomina and Yuan 2012] proposed an optimization framework for load balancing in LTE HetNets by means of cell range assignment using cell-specific offsets. Both works analyze the achieved load balance respectively through simulations and mathematically but they do not compare their strategies with other existing ones. [Fooladivanda 2011] formulated a joint association, channel allocation, and intercell interference management problem as a Non-linear NP-hard problem and compared it against SINR-based strategies. Afterwards, [Fooladivanda and Rosenberg 2013] proposed an association rule that combines both user and resource allocation with significant performance gains in throughput. [Ye et al. 2013] presented a distributed algorithm which considers cell association and resource allocation jointly. In addition, it is linear to the number of UEs and the number of BSs. The main goal of these works is to achieve user association and they analyze load balancing as a side effect. 3. System Model The total capacity of a given cell is estimated as the effective number of PRBs that are available to transport data in a timeframe, that is, the PRBs used to control the communication are not being considered. Although downlink and uplink do not behave similarly in HetNets, this work is focusing on downlink. Each UE can connect to just a single cell and it requests the minimum number of PRBs that assures the minimum data rate of its service. Besides, there is no priority among the services, that is, emergency services are not being considered.

119 Resumos estendidos 118 Lets consider all UEs having the same nominal transmit power but requesting different services. Despite having the same transmit power, the UEs are not susceptible to exactly the same interference as the others; so, it is another factor that affects the minimum number of required PRBs. Furthermore, let the interference, the position of the UE and the minimum number of PRBs required by a UE be constant in the considered timeframe. 4. Problem Formulation There are many association strategies that aim to associate the UEs with BSs in order to maximize the number of attended UEs. However, load balancing is treated as another parameter of quality of these strategies and not the final objective. A model in ILP for the system described in section 3 is presented in 4.1. Afterwards, LP GREEDY is defined on Integer Linear Programming Model Objective: Associate UEs to the cells considering just the quantity of available PRBs on downlink. Definitions: M set of UEs B set of cells M b = {m M m is in b s coverage area where b B} c b = capacity of resources of b B in PRBs l mb = minimum load that m M b demands from b B (considering the losses caused by interference), i.e., the minimum quantity of needed PRBs α = minimum percentage of UEs that must be attended (QoS) Decision variables: x mb = 1 if m M b is attended by b B L max = percentage of the used capacity of the most overloaded cell L min = percentage of the used capacity of the least overloaded cell Model: (P.1) min L max L min s.t. c b L max l mb x mb 0 b B (1) m M b c b L min l mb x mb 0 b B (2) m M b x mb 1 m M (3) b B l mb x mb c b b B (4) m M b x mb α M (5) m M b b B x mb {0, 1} m M, b B (6)

120 119 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Objective Function: Minimize the difference between the most overloaded cell and the least overloaded one (load balancing) (1) L max must be greater than any other load among all cells (2) L min must be smaller than any other load among all cells (3) Each UE must be attended by at most one cell (4) Sum of the loads of all attended UEs in a cell cannot be greater than its capacity (5) The number of attended UEs must be greater than α% of all UEs (6) UE is or is not attended (0 or 1), i.e., binary variable 4.2. Greedy Linear Programming Heuristic The ILP problem described previously gives the optimal solution but it is too expensive. Thus, in order to get a possibly good solution in average polynomial time, the integrality constraints were relaxed and a greedy strategy was applied over the infeasible solution. In this greedy strategy, given the solution of the relaxed version of the linear program, the values of all decision variables x mb are enqueued in descending order. Afterwards, this queue is consumed and each UE is associated accordingly if it was not previously associated and if the target cell has available capacity to attend it. If a cell is overloaded, the UE is not going to be associated in this iteration but it will possibly be in a future one while the queue is being consumed. 5. Simulation To evaluate the performance of the proposed heuristic, the scenario described on [Lien et al. 2012] was used. They adopt simulation parameters for UEs from [3GPP 2011] that had been agreed by 3GPP. In this simulation, seven macro cells and three pico cells are deployed according to Figure 1 [Lien et al. 2012]. The numbers within the cells indicate the percentage of the total of UEs that are being covered. To create a test scenario, the position of the UEs were calculated randomly but respecting the distribution illustrated on Figure 1. For each fixed number of total UEs, 30 different test scenarios were generated. In addition, Best Downlink, Best SINR and Pico Cell First strategies [Fooladivanda 2011] were used to evaluate the efficiency of the ILP model and the proposed heuristic LP GREEDY. Since both ILP model and LP GREEDY depend on α from constraint (5), a binary search in the finite set Figure 1. Simulation scenario {1.00, 0.99, 0.98,..., 0.00} looking for the biggest feasible solution was performed.

121 Resumos estendidos 120 Hence, both strategies would attend as much UEs as possible and balance their load as evenly as possible. 6. Results A simulator was implemented to run the simulations proposed and a time limit to the solver was set to 5 minutes. Due to this time limit, the ILP model could not be solved for instances with more than 1,000 UEs. Figure 2. Attended Users Figure 3. Load balancing Figure 2 shows that LP GREEDY behaves at least as well as the best of the other strategies specially for instances greater than 900 UEs, i.e., it can attend more UEs than the other strategies and it is the closest one to the optimal solution. Note that all strategies perform equally well on all instances with less than 800 UEs because there is no overloaded cells in these scenarios. Figure 3 shows that LP GREEDY behaves better than the other strategies for instances greater than 1,000 UEs (overloaded cells scenarios), however, it is a little bit far from the optimal solution provided by the ILP model. Therefore, LP GREEDY produces as good results as the non-optimal best strategy for underloaded cells scenarios and presents better results on overloaded cells scenarios. Moreover, as it is based on linear programming and not on integer linear programming, it is faster than the ILP model. Furthermore, by aiming for load balancing, LP GREEDY not only achieved better results on load sharing but also attended more users even in comparison with strategies that aim for user attendance. 7. Conclusions In this work, the problem was formulated as an integer linear program problem and an heuristic based on a greedy strategy over a relaxed version of this model was

122 121 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica proposed. In addition, a simulator was implemented to test the proposed strategy against some existing ones. According to the presented results, the proposed strategy performs better than the other non-optimal strategies, mainly on overloaded cells scenarios, by attending more user equipments and by sharing the load more evenly. 8. Future Work For the next step, strategies considering both downlink and uplink will be investigated as well as online strategies. Furthermore, considering Carrier Aggregation will get this work closer to 5G networks. In addition, many other restrictions can be added to the problem to make it closer to real scenarios like considering priority among the services, increasing the diversity of the services, investigating power efficiency schemata and studying other distribution of cells and user equipments. References 3GPP (2011). Study on ran improvements for machine-type communications. TR , 3GPP. Andrews, J., Singh, S., Ye, Q., Lin, X., and Dhillon, H. (2014). An overview of load balancing in hetnets: old myths and open problems. Wireless Communications, IEEE, 21(2): Fooladivanda, D. (2011). Joint channel allocation and user association for heterogeneous wireless cellular networks IEEE 22nd International Symposium on Personal, Indoor and Mobile Radio Communications, pages Fooladivanda, D. and Rosenberg, C. (2013). Joint resource allocation and user association for heterogeneous wireless cellular networks. IEEE Transactions on Wireless Communications, 12(1): Lien, S.-Y., Liau, T.-H., Kao, C.-Y., and Chen, K.-C. (2012). Cooperative access class barring for machine-to-machine communications. Wireless Communications, IEEE Transactions on, 11(1): Lobinger, A., Stefanski, S., Jansen, T., and Balan, I. (2010). Load Balancing in Downlink LTE Self-Optimizing Networks. In Vehicular Technology Conference (VTC Spring), 2010 IEEE 71st, pages 1 5. Siomina, I. and Yuan, D. (2012). Load balancing in heterogeneous LTE: Range optimization via cell offset and load-coupling characterization IEEE International Conference on Communications (ICC), pages Viering, I., Dottling, M., and Lobinger, A. (2009). A mathematical perspective of selfoptimizing wireless networks. In Communications, ICC 09. IEEE International Conference on, pages 1 6. Ye, Q., Rong, B., Chen, Y., Al-Shalash, M., Caramanis, C., and Andrews, J. (2013). User Association for Load Balancing in Heterogeneous Cellular Networks. Wireless Communications, IEEE Transactions on, 12(6):

123 Resumos estendidos 122 Reconstrução de Filogenias para Imagens e Vídeos Filipe de O. Costa 1, Anderson Rocha (Orientador) 1, Zanoni Dias (Coorientador) 1 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) Abstract. In this work, our main objective is to design and develop approaches for identifying the structure of relationships of duplicates in a given set of semantically similar images or videos, and reconstructing a structure that represents their past history and ancestry information (phylogeny). For this, we aim at designing approaches that calculate the dissimilarities among images and videos and group them in distinct trees of processing history automatically. Resumo. Neste trabalho, objetivamos a proposição e o desenvolvimento de abordagens para, dado um conjunto de duplicatas próximas, identificar automaticamente a relação entre elas e reconstruir a estrutura que represente o histórico de geração das mesmas (denominada filogenia). Para isso, iremos desenvolver abordagens que calculem a dissimilaridade entre duplicatas e as separem corretamente em árvores que representem a estrutura de relação entre elas de forma automática. 1. Introdução Nas últimas décadas, o número de usuários da Internet e de redes sociais sofreu um grande aumento. Com isso, o compartilhamento de conteúdo multimídia se tornou algo simples. Entretanto, a facilidade com que tal conteúdo pode ser compartilhado e distribuído permite que usuários obtenham cópias de uma imagem/vídeo na internet e compartilhem versões modificadas de tal conteúdo, por exemplo. Em alguns casos, isso pode infringir direitos autorais ou até mesmo espalhar pela rede conteúdo digital ilegal. Nesse sentido, muitas abordagens têm sido desenvolvidas com o objetivo de identificar versões modificadas de imagens ou vídeos digitais em um conjunto. Na literatura, tais técnicas são denominadas técnicas para detecção e recuperação de duplicatas próximas (Near-Duplicate Detection and Retrieval NDDR) [Valle 2008, Joly et al. 2007], onde o objetivo é verificar, dado um par de imagens ou vídeos, se um deles é uma cópia próxima do outro e encontrar todas as cópias próximas de uma imagem ou vídeo em um conjunto. Uma abordagem mais desafiadora para expandir o problema de NDDR é, dado um conjunto de imagens ou vídeos os quais um analista sabe que são duplicatas próximas, identificar qual é o original desse conjunto e qual a estrutura de geração de tais duplicatas. Nesse cenário, nós estamos interessados em identificar o histórico de geração das duplicatas, levando em consideração a relação existente entre elas. Essa identificação se faz útil para rastreamento de conteúdo ilegal sem a necessidade de marcações digitais ou para encontrar a imagem ou vídeo original dentro de um conjunto de duplicatas, por exemplo. Algumas pesquisas recentes têm conseguido resultados interessantes no que diz respeito à definição de uma árvore que represente a estrutura de geração de

124 123 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica um conjunto de imagens [Rosa et al. 2010, Dias et al. 2010, Dias et al. 2013a] ou vídeos [Dias et al. 2011]. Entretanto, é importante notar que existem situações onde se deseja encontrar não uma, mas um conjunto de árvores filogenéticas (floresta) que represente a relação entre as duplicatas. Este cenário é desejável quando não se tem certeza que todas as duplicatas foram geradas a partir de um único ancestral comum. Este trabalho visa buscar possíveis soluções para o problema de filogenia de imagens e vídeos onde, dado um conjunto de duplicatas próximas, determinar a árvore (no caso de todas as duplicatas possuírem um ancestral em comum) ou a floresta (no caso de vários subconjuntos de duplicatas próximas no mesmo conjunto) que represente a relação de geração entre as duplicatas Objetivo O objetivo principal deste trabalho é desenvolver abordagens que permitam a identificação da estrutura de geração de um conjunto de duplicatas de imagens e vídeos. Consideramos como meta principal do projeto resolver o problema de encontrar florestas (isto é, quando um conjunto de duplicatas pode ter vários subconjuntos distintos) Contribuições científicas e impacto As abordagens apresentadas podem ser úteis na identificação, por exemplo, da fonte de imagens ou vídeos ilegais que foram distribuídos indevidamente pela internet (e.g., vídeos de pornografia infantil, imagens com direitos autorais desrespeitados, etc.), dadas algumas duplicatas de tais documentos. Nós estamos interessados em encontrar tanto uma árvore quanto uma floresta filogenética (isto é, uma ou mais árvores para cada conjunto de duplicatas). Por se tratar de um problema relativamente novo, acreditamos que os tipos de abordagens propostos gerarão contribuições científicas importantes para o estudo da filogenia de imagens e vídeos, tais como: Estudo detalhado sobre o problema de filogenia de imagens e vídeos considerando árvores e florestas, uma vez que abordagens para solucionar este problema são recentes e poucos estudos foram feitos a respeito do tema; Definição de algoritmos que, dado um conjunto de duplicatas próximas, encontrem a filogenia que represente a relação entre as duplicatas. Os algoritmos gerados auxiliarão diretamente na solução de problemas como distribuição de conteúdo ilegal, infração de direitos autorais e busca de imagens/vídeos por conteúdo; Validação da abordagem gerada neste projeto para solucionar o problema de filogenia de imagens e vídeos em um ambiente onde não se sabe a proveniência de tais documentos, uma vez que este tipo de validação foi pouco investigado na literatura; Análise de propriedades das imagens e vídeos que possam auxiliar no desenvolvimento de novos cálculos de dissimilaridade, uma vez que esse cálculo influencia diretamente nos resultados dos algoritmos para reconstrução da filogenia de imagens e vídeos.

125 Resumos estendidos Filogenia de Documentos Podemos dizer que existem, principalmente, dois fatores importantes e independentes no processo de reconstrução de uma filogenia de um conjunto de imagens ou vídeos semanticamente semelhantes: a função de dissimilaridade relacionada com as diferenças entre cada par de duplicatas no conjunto e o algoritmo de reconstrução da filogenia em si. Formalmente, seja T uma família de transformações em imagens, e seja T uma transformação tal que T T. Podemos definir a função de dissimilaridade entre duas imagens I A e I B como o menor valor de d IA,I B [Dias et al. 2010]. d IA,I B = I B T β (I A ) método de comparação ponto a ponto L (1) para todos os possíveis valores de β que parametriza T. A Equação 1 calcula a quantidade de dados residuais entre a melhor transformação de I A para I B, de acordo com a família de transformações T e I B. Por fim, as imagens são comparadas utilizando algum método de comparação ponto-a-ponto L. Dado um conjunto de duplicatas de imagem, os autores calculam a dissimilaridade entre cada par de imagens do conjunto I A e I B, seguindo quatro etapas: 1. Registro de imagens, onde são estimadas as transformações (rotação, escala, recorte, etc.) que devem ser aplicadas na imagem I B para que esta tenha as mesmas (ou semelhantes) características geométricas da imagem I A ; 2. Casamento de cor, onde se faz a transferência das características de cor da imagem I A para uma imagem I B ; 3. Casamento de compressão JPEG, que visa garantir que a imagem I B possua os mesmos fatores de qualidade de compressão JPEG que a imagem I A ; 4. Cálculo de dissimilaridade, feita por meio do cálculo da soma dos erros quadrados (como sendo a técnica L) entre a imagem I A e a imagem resultante das três etapas anteriores I B. Para a reconstrução da árvore filogenética, é criado um grafo direcionado com base na matriz de dissimilaridade e os autores calculam a árvore final utilizando uma variação do algoritmo de Árvore Geradora Mínima de Kruskal adaptada para grafos orientados [Dias et al. 2012]. Em [Dias et al. 2010], os autores adaptaram o cálculo da dissimilaridade e a reconstrução da filogenia descrita acima para tratar vídeos. A dissimilaridade entre dois vídeos é calculada utilizando-se um quadro de cada vídeo por vez, assumindo que estes são temporalmente coerentes. Assim, se os vídeos possuem q quadros, são construídas q matrizes de dissimilaridade, sendo uma para cada quadro. Feito isso, os autores reconstroem q filogenias com o algoritmo de Kruskal orientado e a filogenia final é definida pelas arestas mais frequentes nas filogenias construídas. Considerando que as duplicatas de um conjunto podem ter sido geradas por dois ou mais documentos originais (por exemplo, duas imagens ou vídeos originais com o mesmo conteúdo semântico mas obtidos em momentos diferentes ou por fontes diferentes), a definição de quantas árvores uma floresta terá se faz necessária e também apresenta desafios importantes. Possíveis alternativas de soluções são (1) o corte das arestas mais pesadas da árvore gerada inicialmente e re-execução do algoritmo de reconstrução após o corte; e (2) clusterização inicial na matriz de dissimilaridade antes

126 125 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica da execução do algoritmo de reconstrução. Outro desafio é, em um ambiente em que não sabemos a priori quantas árvores devem ser geradas, decidir qual a forma utilizada para separar as imagens em árvores diferentes e qual o critério de parada do algoritmo (isto é, quando decidir se uma aresta deve ser removida para dividir uma árvore em duas ou adicionada para unir duas árvores, por exemplo). Na literatura atual de filogenia de imagens, existem dois métodos para reconstrução de árvores filogenéticas que estão sendo explorados pela comunidade acadêmica: Kruskal orientado [Dias et al. 2010] e o algoritmo de arborescência ótima [Chu and Liu 1965, Bock 1971, Edmonds 1967]. Esses algoritmos podem ser facilmente adaptados para resolver o problema de florestas, gerando não só uma, mas várias árvores de filogenia, como foi feito em [Dias et al. 2012] com o algoritmo de Kruskal orientado. Nós também adaptamos o algoritmo de arborescência mínima para tratar florestas e, visando aumentar a eficácia dos métodos na reconstrução de florestas, nós realizamos uma comparação entre os resultados de ambas as técnicas para observar a complementaridade entre eles e verificar como os resultados na reconstrução das florestas podem ser melhorados por meio da fusão das técnicas. Melhorias individuais nas técnicas também foram propostas a partir de descobertas e propriedades que analisamos. Os resultados obtidos com esses experimentos foram recentemente aceitos para publicação em revista científica [Costa et al. 2014]. Um desafio do projeto em relação à filogenia de vídeos é a reconstrução da filogenia onde (1) os vídeos não são necessariamente temporalmente coerentes; (2) uma determinada duplicata pode ter sido gerada por meio de composição de sequências distintas de outros vídeos, o que muitas vezes ocorre na prática em um cenário real. 3. Conjunto de dados Para tratar o problema de filogenia de imagens, nós iremos utilizar dois conjuntos de dados. Conjunto de imagens A: Conjunto de dados utilizado por Dias et al. [Dias et al. 2012]. Este conjunto contém três imagens de três cenas diferentes, obtidas por três câmeras diferentes, sendo que as imagens semanticamente similares originais (raízes das árvores) podem ter sido geradas por uma mesma câmera ou por câmeras diferentes. Para cada cena, foram geradas duplicatas que representam florestas de tamanho F {1..5} árvores, considerando 5 topologias para cada tamanho de floresta e 10 variações nas gerações das duplicatas para cada topologia. Este conjunto foi separado em dois subconjuntos: treino (uma topologia para cada tamanho de floresta, com um total de florestas) e teste (contendo quatro topologias para cada tamanho de floresta, com um total de florestas). Conjunto de imagens B: Contém 10 imagens de 20 cenas diferentes, onde cada cena foi obtida considerando 10 câmeras diferentes, onde as imagens originais podem ter sido geradas por uma mesma câmera ou por câmeras distintas. Para cada cena, foram geradas duplicatas que representam florestas de tamanho F {1..10} árvores. Consideramos, para este conjunto, 10 topologias para cada tamanho de florestas e 10 variações randômicas para a geração das duplicatas. Foi gerado um total de 2000 florestas.

127 Resumos estendidos 126 O protocolo a ser utilizado nos experimentos será o cross dataset, onde o subconjunto de treino do conjunto A será utilizado para estimativa de possíveis parâmetros e o subconjunto de testes do conjunto A e o conjunto B serão utilizados somente para a etapa de testes. Para tratar o problema de filogenia de vídeos, utilizaremos neste trabalho um conjunto de vídeos construído em parceria com os pesquisadores do Politecnico di Milano (Itália). As duplicatas de vídeos serão geradas considerando as seguintes transformações: corte espacial, corte temporal, codificação, rotação, inserção de logomarca, ajustes de brilho e contraste e embaçamento (blurring). O conjunto inicialmente contém 300 vídeos separados em conjuntos com 30 duplicatas de vídeos, onde 10 duplicatas representam uma cena, 10 duplicatas são de outra cena, uma duplicata foi gerada por meio de composição dos vídeos originais de cada cena e as nove duplicatas restantes foram geradas considerando transformações sobre o vídeo composto. Para validar as abordagens propostas com dados reais, iremos obter imagens e vídeos da Internet. Os vídeos serão obtidos do YouTube, procurando manter, inicialmente, a mesma resolução e a mesma taxa de quadros por segundo. No caso de imagens, iremos obter duplicatas da internet por meio do Google Images e Flickr. Iremos analisar, também, possíveis casos reais encontrados ao longo da pesquisa, como o exemplo do caso Situation Room, o qual foi abordado em [Dias et al. 2013b] Conclusões e Trabalhos Futuros Neste trabalho, destacamos os principais pontos discutidos atualmente na literatura de filogenia de imagens e vídeos, que se trata de uma abordagem mais desafiadora que a detecção de duplicatas, uma vez que desejamos encontrar a relação de parentesco existente entre as duplicatas. O trabalho já possui algumas contribuições importantes e já conta com uma publicação aceita em revista científica internacional [Costa et al. 2014]. Atualmente, estamos realizando estudos sobre a forma de calcular a dissimilaridade, a fim de melhorar os resultados finais da reconstrução de uma filogenia. Substituindo as abordagens utilizadas em algumas etapas do processo de cálculo da dissimilaridade entre duas duplicatas (registro, casamento de cor e métrica de comparação) e verificando como o algoritmo de reconstrução de filogenia se comporta com a nova matriz, nós conseguimos resultados iniciais promissores. Além disso, estamos avaliando uma forma de calcular a dissimilaridade para cada etapa individualmente, reconstruindo a filogenia para cada etapa e combinar os resultados obtidos de alguma forma. Iremos também estudar novos algoritmos de reconstrução de filogenias baseados em medidas estatísticas, como por exemplo, a curtose, que é uma medida de extrema variação, onde valores muito altos representam poucas variações extremos dos dados, enquanto valores baixos representam variações pequenas, porém mais frequentes. Experimentos iniciais mostram uma relação existente entre a variação da curtose dos pesos das arestas da filogenia final encontrada pelo algoritmo de arborescência mínima e a escolha do número de árvores que uma filogenia deve possuir. Também pretendemos analisar outros algoritmos existentes na área de Biologia Computacional [Saitou and Nei 1987, Bachmaier et al. 2005]. Por fim, iremos abordar o problema de filogenia de vídeos e verificaremos se as abordagens desenvolvidas para filogenia de imagens podem ser adaptadas. Esta

128 127 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica etapa será realizada durante o doutorado Sanduíche de Filipe Costa em parceria com os colaboradores do Politecnico di Milano (Itália) durante um período de nove meses a partir de setembro deste ano. References Bachmaier, C., Brandes, U., and Schlieper, B. (2005). Springer. Drawing phylogenetic trees. Bock, F. (1971). An algorithm to construct a minimun directed spanning tree in a directed network. Developments in Operations Research, pages Chu, Y. J. and Liu, T. H. (1965). On the shortest arborescence of a directed graph. Science Sinica, 14: Costa, F. O., Oikawa, M., Dias, Z., Goldenstein, S., and Rocha, A. (2014). Image phylogeny forest reconstruction. in Proc. IEEE Transactions on Information Forensics and Security. Dias, Z., Goldenstein, S., and Rocha, A. (2013a). Exploring heuristic and optimum branching algorithms for image phylogeny. Elsevier Journal of Visual Coimmunication and Image Representation, 24(7): Dias, Z., Goldenstein, S., and Rocha, A. (2013b). Toward image phylogeny forests: Automatically recovering sematically similar image relationships. Forensic Science International, 231: Dias, Z., Rocha, A., and Goldenstein, S. (2010). First steps towards image phylogeny. In IEEE Intl. Workshop on Information Forensics and Security (WIFS), pages 1 6. Dias, Z., Rocha, A., and Goldenstein, S. (2011). Video phylogeny: Recovering nearduplicate video relationships. In IEEE Intl. Workshop on Information Forensics and Security (WIFS), pages 1 6. Dias, Z., Rocha, A., and Goldenstein, S. (2012). Image phylogeny by minimal spanning trees. IEEE Transactions on Information Forensics and Security (TIFS), 7(2): Edmonds, J. (1967). Optimum branchings. Journal of Research of National Institute of Standards and Technology (NIST), 71B: Joly, A., Buisson, O., and Frélicot, C. (2007). Content-based copy retrieval using distortion-based probabilistic similarity search. IEEE Trans. Multimedia, 9(2): Rosa, A. D., Uccheddu, F., Costanzo, A., Piva, A., and Barni, M. (2010). Exploring image dependencies: a new challenge in image forensics. SPIE-IS&T Electronic Imaging, 7541: Saitou, N. and Nei, M. (1987). The neighbor-joining method: a new method for reconstructing phylogenetic trees. Molecular biology and evolution, 4(4): Valle, E. (2008). Local descriptor matching for image identification systems. Ph.d. thesis, Universite de Cergy-Pontoise.

129 Resumos estendidos 128 Superpixel-based interactive classification of very high resolution images John E. Vargas 1, Priscila T. M. Saito 12, Alexandre X. Falcão 1, Pedro J. de Rezende 1, Jefersson A. dos Santos 3 1 Institute of Computing, University of Campinas, Campinas, Brazil 2 Department of Computer Engineering, Federal Technological University of Parana, Cornelio Procopio, Brazil 3 Department of Computer Science, Universidade Federal de Minas Gerais, Belo Horizonte, Brazil Abstract. Very high resolution (VHR) images are large datasets for pixel annotation a process that has depended on the supervised training of an effective pixel classifier. Active learning techniques have mitigated this problem, but pixel descriptors are limited to local image information and the large number of pixels makes the response time to the user s actions impractical, during active learning. To circumvent the problem, we present an active learning strategy that relies on superpixel descriptors and a priori dataset reduction. Moreover, we subdivide the reduced dataset into a list of subsets with random sample rearrangement to gain both speed and sample diversity during the active learning process. Resumo. Imagens de muito alta resolução são conjuntos de dados grandes para anotação de pixels um processo que depende do treinamento supervisionado de um classificador de pixels eficaz. Os métodos de aprendizado ativo têm atenuado este problema, mas os descritores de pixels tornam o tempo de resposta às ações do usuário impraticável durante o processo de aprendizado ativo. Para contornar este problema, apresentamos uma estratégia de aprendizado ativo que se baseia em descritores de superpixels e uma redução do conjunto de dados a priori. Além disso, subdividimos o conjunto de dados reduzido em uma lista de subconjuntos com amostragem aleatória para ganhar velocidade e diversidade das amostras durante o processo de aprendizado ativo. 1. Introduction Pixel annotation in hyperspectral and very high resolution (VHR) images has relied on supervised classifiers so far [Tuia et al. 2011, Demir et al. 2011]. However, manual selection and annotation of a sufficiently large number of training pixels is unfeasible for very large datasets. In order to handle large datasets, active learning techniques have been proposed for selecting a small training set that represents well not only all classes under annotation but also discriminative samples on the boundary between classes [Demir et al. 2011, Tuia et al. 2011, Saito et al. 2012]. Such active learning process starts off with a small training set for manual annotation. The labeled samples are then used to train a preliminary classifier that selects and

130 129 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica labels new samples for user validation. The user may confirm/correct the labels of the selected samples, increasing the size of the training set to generate an improved classifier for the next iteration. The process may be halted by the user once the accuracy of the classifier reaches a certain level, which can be verified either by cross validation on the training set or, regarding images, by visualizing the classification of the entire image. The effectiveness of active learning techniques has been substantiated in the literature as superior to a simple random selection of samples [Tuia et al. 2011, Demir et al. 2011] even when much larger amounts of randomly selected samples are considered. Nonetheless, the performance of an active learning technique depends on a clever strategy for selection of representative and discriminative samples from the large unlabeled dataset. The Multi-Class Level Uncertainty (MCLU) method is considered a state-of-the-art approach for pixel annotation in VHR and hyperspectral images [Demir et al. 2011]. However, works in this line evaluate their methods restricted to a subset of the image domain for which the pixel labels can be easily determined by the user. Moreover, the pixel datasets are labeled and the methods are assessed without considering the mean response time for the user s actions. Indeed, they are impractical from the user s point of view. Besides, pixel descriptors are also limited to local image information and susceptible to noise. We circumvent these problems by presenting an active learning strategy based on the MCLU method that relies on superpixel descriptors and a priori dataset reduction. The image segmentation into a superpixel representation is done by the Simple Linear Iterative Clustering algorithm (SLIC), described in [Achanta et al. 2012]. The superpixel representation initially provides a considerable dataset reduction and also allows the combination of higher-level descriptors within regions that respect the boundaries between classes. Our contribution. Firstly, we demonstrate the effective gain of the superpixel representation over the pixel representation using the MCLU active learning technique over an entire VHR image. Secondly, given that, as such, the method is still impractical for interactive response times, we propose an a priori superpixel dataset reduction using the Optimum-Path Forest (OPF) clustering technique [Rocha et al. 2009]. The choice for OPF clustering is justified by previous works on active learning [Saito et al. 2012, Saito et al. 2014] and its ability to find natural clusters with no shape constraints or need to specify a number of clusters. Our approach selects the roots and a few random samples from the boundary set to compose the first training set for manual annotation. The MCLU technique is based on Support Vector Machine (SVM) classification. Hence, the first instance of the SVM classifier is applied to select a reduced set from the entire dataset with the most uncertainty samples. Moreover, we subdivide the reduced dataset into m subsets and include them in a queue to improve efficiency. The active learning process uses one subset per iteration until the queue is empty. Then, the unlabeled samples of these subsets are merged and randomly rearranged to compose a new queue of subsets, in order to attain sample diversity in the subsets for the next m iterations. The result is a feasible and very effective active learning approach, as demonstrated here.

131 Resumos estendidos Methodology Active learning techniques aim to iteratively select the most informative samples from a given unlabeled dataset U for training a supervised classifier. In the first step, a few unlabeled samples are selected for manual annotation, forming an initial training set T. A classifier C is trained with the labeled set T and a query function Q uses C to classify and select a set X of a few more informative unlabeled samples from U. Then the user confirms or corrects the labels of the selected samples. The labeled samples in X are included into T and the classifier C is retrained with the new training set. This process is repeated until the user is satisfied with the accuracy of the classifier C Multi-Class Level Uncertainty The Multi-Class Level Uncertainty (MCLU) technique is based on Support Vector Machine (SVM) classification one of the most successful methods in pattern recognition, which has inspired many other active learning techniques. The MCLU technique selects the unlabeled samples with higher uncertainty in classification among all samples in the dataset U. The uncertainty criterion is defined by a function c(x), x U, which is calculated on the basis of the signed distances d i (x), i = 1, 2,..., n, from sample x to each of the n decision boundaries (n classes) of the one-versus-all SVM classifier. The distance set {d 1 (x),..., d n (x)} for every x U is computed and the confidence value c(x) can be computed in two ways, as explained in [Demir et al. 2011]: 1) The smallest distance to the hyperplane or 2) The difference between the first and second largest distance values to the hyperplanes. In this work, we use MCLU with the second uncertainty criterion. The X (cardinality of X) samples with lower c(x) values are selected to be displayed to the user Dataset reduction method Inspired on a recent work [Saito et al. 2012], our approach also explores the Optimum- Path Forest (OPF) clustering algorithm [Rocha et al. 2009] for dataset reduction and initial training sample selection. However, differently from [Saito et al. 2012], we select the initial training samples as the representative cluster samples and randomly selected samples from the boundary between clusters; and then reduce the dataset by using the resulting SVM classifier from the initial training set. The initial classifier should be as effective as possible because the proposed reduction method is based on the classification results of the first classifier. Clustering is performed in order to find representative samples that are likely to cover all classes, as well as, uncertainty samples between classes, which are likely to be on the boundary between clusters. The roots of the clusters (maxima of the pdf) and a small set of randomly selected boundary samples are then annotated by the user to form a small initial training set T. Before the learning cycle, the samples of the labeled set T are used to train the classifier C. Then, the query function Q uses C to classify the entire set of unlabeled samples U. These unlabeled samples are sorted according to the uncertainty criterion explained in Section 2.1 lower is the confidence value c(x), higher is the uncertainty value of the sample x. The U /r most uncertainty samples form the reduced set R. Note that the value of r controls the size of the reduced set.

132 131 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica In order to further reduce the number of unlabeled samples that have to be classified in the query function Q at every iteration, we propose to split the reduced set R into m equal-sized subsets {R 1,..., R m } of random samples, and include these subsets in a queue L for processing, one per iteration, until L is empty. After the m-th iteration, the unlabeled samples in R are merged, randomly divided into new m subsets {R 1,..., R m }, and included again in L for the next m iterations. This strategy also aims to attain sample diversity in these subsets along the iterations. Algorithm 1 describes the proposed method. Algorithm 1 Active learning algorithm with dataset reduction. 1: Cluster the set of unlabeled samples U with OPF and select root and boundary samples, which are annotated by the user to form the initial training set T. 2: Train the classifier C with the labeled set T. 3: The query function Q uses C to classify and sort the samples in the unlabeled set U according to the uncertainty criterion. 4: Select the U /r most uncertainty samples from U to form the reduction set R. 5: Divide the set R into m subsets {R 1,..., R m } and put them in the queue of subsets L. 6: repeat 7: The query function Q uses C to classify and select a set of samples X from the next subset of unlabeled samples in the queue of subsets L. 8: The user confirms/corrects labels and T is increased by X. 9: Retrain the classifier C with the new set T. 10: If the m subsets are processed, then merge the subsets {R 1,..., R m } and divide them again into m subsets for L. 11: until the user is satisfied with the accuracy of C. In the learning cycle of the active learning process (Line 6), the query function Q uses C to classify and select a set of samples X, which are the most uncertain samples in the next subset of the queue of subsets L. In our implementation, the query function Q used is the MCLU. The user confirms or corrects the labels of the samples selected by Q and the set T is increased by X (Line 8). Then, the classifier C is trained with the new training set T. If the m subsets in the queue L have been processed, the subsets are combined and randomly divided again into m subsets and rearranged in a queue of subsets L (Line 10). These steps are repeated until the user is satisfied with the accuracy of the classifier C. 3. Experiments Given that annotated VHR images are presently scarce, we opted for manually annotating a VHR image acquired on the Vatican City in April It is a natural color image obtained from the Mapmart QuickBird satellite imagery samples website. The image was labeled with seven classes of interest (Road, Shadow, Tree, Water, Building, Grass, and Bare soil). In all experiments, we selected an initial small set comprised of 64 samples. For the proposed approach, the 64 samples include the roots of the clusters (in order to guarantee samples from all classes) and samples from the boundary between clusters. The rest of the samples form the learning set. In all experiments, each method was run ten times, so each graph reports the mean of these runs.

133 Resumos estendidos 132 To do a comparison between the pixel- and superpixel-based approaches for the task of VHR image classification, we used the active learning method MCLU with the same number of initial training samples and an equal number of samples labeled per iteration. In all experiments, the active learning methods select 14 samples, twice the number of classes (as suggested in [Saito et al. 2014]), to be validated by the user in each iteration. The descriptor used for superpixels is a combination of four descriptors: Mean color, Color histogram, Local binary patterns (LBP), and Border/ Interior Classification (BIC). The overall accuracy of the two approaches is presented in Figure 1. The superpixel-based classification is consistently superior in comparison with the pixel-based classification. In order to set the parameters of the SVM-RBF classifier of the MCLU technique used in the experiments, we performed a grid-search model selection in the first and fifth iterations for the pixel and superpixel-based approaches. Figure 1. Overall accuracy Superpixel vs Pixel classification. The VHR image used in the experiments is comprised of U = superpixels obtained by the SLIC algorithm. The time in the selection process of the MCLU method is not suitable for an application where interactive response times are expected (we measured 87 seconds on average). As baseline for the comparison of the superpixel-based methods, we used a random sampling method that selects samples from the learning set to be validated by the user. Thirty percent of the entire set of unlabeled samples was selected to form the reduced set (1/r = 0.3), which was divided into m = 4 subsets. In Figure 2 a), we present the overall accuracy for the proposed MCLU method with data reduction in comparison with the original MCLU method and a Random Sampling selection strategy. In Figure 2 b), we present the time spent per iteration for the both MCLU selection strategies. As illustrated in Figure 2 a), the accuracy of the MCLU with data reduction is comparable to the one achieved by the original MCLU method. However, the computing time is remarkably smaller as one can observed in Figure 2 b). 4. Conclusion In this paper, we have shown that interactive classification of very high resolution images, through active learning sessions, benefits more from a superpixel-based approach than

134 133 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Figure 2. a) Overall accuracy MCLU and MCLU-data reduction b) Time MCLU and MCLU-data reduction. from a pixel-based one. We have also proposed a method that reduces and rearranges the dataset, lowering the computing time of the selection process (from 87 to 9 seconds on average) and keeping similar accuracy in comparison with the active learning method that processes the entire set of unlabeled samples. This cutback in time makes user interaction feasible in active learning. Acknowledgment We thank Mapmart for the QuickBird satellite imagery. References Achanta, R., Shaji, A., Smith, K., Lucchi, A., Fua, P., and Susstrunk, S. (2012). Slic superpixels compared to state-of-the-art superpixel methods. IEEE Transactions on Pattern Analysis and Machine Intelligence, 34(11): Demir, B., Persello, C., and Bruzzone, L. (2011). Batch-mode active-learning methods for the interactive classification of remote sensing images. IEEE Transactions on Geoscience and Remote Sensing, 49(3): Rocha, L. M., Cappabianco, F. A. M., and Falcão, A. X. (2009). Data clustering as an optimum-path forest problem with applications in image analysis. Int. J. Imaging Syst. Technol., 19(2): Saito, P. T. M., de Rezende, P. J., Falcão, A. X., Suzuki, C. T. N., and Gomes, J. F. (2012). Improving active learning with sharp data reduction. In WSCG International Conference on Computer Graphics, Visualization and Computer Vision, pages Saito, P. T. M., de Rezende, P. J., Falcão, A. X., Suzuki, C. T. N., and Gomes, J. F. (2014). An active learning paradigm based on a priori data reduction and organization. Expert Systems with Applications (ESwA), 41(14): Tuia, D., Volpi, M., Copa, L., Kanevski, M., and Munoz-Mari, J. (2011). A survey of active learning algorithms for supervised remote sensing image classification. IEEE Journal of Selected Topics in Signal Processing, 5(3):

135 Resumos estendidos 134 Supporting the study of correlations between time series via semantic annotations Lucas Oliveira Batista 1, Claudia Bauzer Medeiros 1 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) CEP , Campinas - São Paulo - Brazil lucas.batista@students.ic.unicamp.br, cmbm@ic.unicamp.br Abstract. This paper shows a work in progress to design and develop a software framework that supports experts in the correlation of time series. It will allow searching for time series via semantic annotations. Thereby fostering collaboration among experts, and aggregate knowledge to content. This paper was accepted for VIII Brazilian escience Workshop - BreSci. Resumo. Este artigo apresenta um trabalho em andamento para projetar e desenvolver um framework de software que auxilia especialistas na correlação de séries temporais. Este framework irá permitir a busca por séries temporais utilizando anotações semânticas. Além disso, auxilia a colaboração entre especialistas e permite a agregação de conhecimento ao conteúdo. Este artigo foi aceito no VIII Brazilian escience Workshop - BreSci. 1. Introduction Time series are used in several knowledge domains, such as economics (monthly unemployment rate), meteorology (daily temperature) or health (electrocardiogram). An efficient search for time series helps the task of analyzing these series, for instance, to perform forecasts, identify patterns, find the origins of certain phenomena, and so on. Experts often use series annotations to help this analysis. An annotation establishes a relation between the annotated data and the annotation content [Oren et al. 2006]. Time series annotations are potentially made by different researchers or research groups and they are generally created in text format using an annotation-specific languages and stored in files. In many domains, due to the fact that there are no standards, annotations have a large heterogeneity. This complicates the search, sharing and integration of data. A semantic annotation is the description of a digital resource according to its semantics [Sousa 2010]. [Sousa 2010] defines semantic annotation as triples < s, m, o >, where s is the subject described, m the label of a metadata field, and o is an ontology term that semantically describes this subject. In several situations, scientists need to correlate many kinds of series to study a problem. The search for relevant series with respect to the problem is expensive and takes a long time. Given this scenario, this paper proposes a model of a framework to support the study of correlations between time series, where series are searched via semantic annotation. Besides allowing more sophisticated searches, and to aggregate knowledge to series, this framework will facilitate collaboration among experts.

136 135 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 2. Related Work The goal of this work is to provide to users tools that make easier the search for time series, taking advantage of semantic annotation. Therefore, the literature review focuses on highlighting research on time series annotation (2.1) and time series search (2.2) Time series annotation Annotations may be made in many formats, for example, video, audio or text. This work focuses in textual annotations of time series. There are many tools that support series annotation - for example, [Pressly 2008, Silva 2013]. Both enable to associate multiple textual annotations to parts of a series. In the first, experts may just visualize annotations made by others. In the second, experts may collaborate modifying annotations made by others. These tools present a few disadvantages. First of all, both store annotations as free text, which hampers search, sharing, integration of data and their interpretation by machines. Second, they do not consider the ambiguity of annotation contents. These problems may be attacked using semantic annotations Search for time series According to [Gao and Wang 2009], the search for time series refers to finding, from a set of time series, the series that satisfy a given search criterion. This search may be done using a model or statistics of series, temporal dependencies, similarity among series or patterns and so on. There are tools that perform the search for time series in a limited way, for instance, they just allow the user to select a series category and a time period [Secretaria do Tesouro Nacional 2013]. Others perform search based on similarity among series using as input one time series - for instance, [Ding et al. 2008, Negi and Bansal 2005]. Still other approaches to search for time series are proposed by [Aßfalg et al. 2006, von Landesberger et al. 2009]. The former proposes a tool that searches time series using a range of values defined by the user as search parameter. The latter uses text in natural language, on financial databases. The disadvantage of these approaches is that they do not consider extra information that may be indirectly associated with series. 3. Model and methodology proposed This paper describes a specification of a software framework that supports users to perform correlations among time series performing search via semantic annotation. The work of [Silva 2013] is used as the starting point to achieve this goal. This framework is validated with data provided by EMBRAPA. Suppose that a researcher needs to analyze the impact of corn production on local economy of a region. Several series are related to corn production, for instance, temperature, humidity, harvested amount, and so on. There are challenges to find time series related to the problem, for instance, corn is cultivated in different parts of world, and

137 Resumos estendidos 136 unless the series are georeferenced the search by keyword corn will return too many series. Furthermore, each region has a different nomenclature for corn, which complicates even more the obtention of results. The proposed approach allows to solve these kinds of problem. In order to return other relevant results, the search for time series uses extra information that may indirectly be associated to series. Figure 1 illustrates an overview of the solution considered. In this framework, experts may add extra information to series semantically annotating parts of one or more time series. Series are stored in relational databases and may have many semantic annotations (step 1). Semantic annotations are stored in a RDF (Resource Description Framework) database kept apart from the time series themselves, aiming to use less storage space as done by [Silva 2013] (step 2). Moreover, using Linked Data concepts, annotations are associated to external ontologies aggregating knowledge to content (step 3). Returning to the example and as shown in the figure, the researcher may use a string milho in the search (step 4). Navigating through ontologies that are connected to annotations, new information associated to milho are inferred, for example, Zea Mays (scientific name of corn), terms like dentado (term that refers to texture of the corn grain), Cercospora zeae-maydis (fungus that affects corn), mancha-branca (corn disease), espiga (term related to corn), time period in which corn is harvested and places where corn is planted. Defining ontologies is very hard, so we intend to use known ontologies, like AGROVOC 1, wich is an ontology covering several areas related with food and agriculture. It allows the subsequent search for time series with this new information. Thereby, the researcher will obtain as results (step 5) time series annotated with terms associated with milho (like dentado ), temperature and humidity series, grain amount harvested on regions where milho is planted and dollar price series in the period in which milho is harvested. More accurate results and additional information about the content allow new types of correlations. The collaboration among experts is performed using comments on the annotations (or meta-annotations). These meta-annotations are also structured; their value is a freetext value and they are associated to time series annotations, which are versioned to store their evolution over time. This new level of annotations records experts discussions over time, avoiding the repetition of time series annotations created just to register this collaboration (as made by [Silva 2013]). Therefore, new time series annotations will be created just when there is an agreement about the real change of content. 4. Conclusion and future work This paper shows an ongoing research that helps experts to share information, collaborate in production of data of common interest and search time series returning more relevant results. The framework proposed uses semantic annotation as a new possibility to search time series, taking advantage of extra information attached to the series. Semantic annotations are interpreted by machines, allowing the use of automatic techniques on these data, for example, inference techniques. This new possibility expands and refines the search scope allowing more refined analyses to obtain results. 1

138 137 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Figure 1. Overview of the model proposed Acknowledgments Work partially financed by CAPES, FAPESP/Cepid in Computational Engineering and Sciences (2013/ ), the Microsoft Research FAPESP Virtual Institute (NavScales project), CNPq (MuZOO Project), FAPESP-PRONEX (escience project), INCT in Web Science, and individual grants from CNPq. We thank EMBRAPA for the data. References Aßfalg, J., Kriegel, H.-P., Kröger, P., Kunath, P., Pryakhin, A., and Renz, M. (2006). Tquest: threshold query execution for large sets of time series. In Advances in Database Technology-EDBT 2006, pages Springer. Ding, H., Trajcevski, G., Scheuermann, P., Wang, X., and Keogh, E. (2008). Querying and mining of time series data: Experimental comparison of representations and distance measures. Proc. VLDB Endow., 1(2): Gao, L. and Wang, X. S. (2009). Time series query. In Liu, L. and Özsu, M. T., editors, Encyclopedia of Database Systems, pages Springer US. Negi, T. and Bansal, V. (2005). Time series: Similarity search and its applications. In Proceedings of the International Conference on Systemics, Cybernetics and Informatics: ICSCI-04, Hyderabad, India, pages Oren, E., Möller, K., Scerri, S., Handschuh, S., and Sintek, M. (2006). What are semantic annotations. Relatório técnico. DERI Galway. Pressly, Jr., W. B. S. (2008). Tspad: a tablet-pc based application for annotation and collaboration on time series data. In Proc. of the 46th Annual Southeast Regional Conference, ACM-SE 46, pages , New York, NY, USA. ACM.

139 Resumos estendidos 138 Secretaria do Tesouro Nacional (2013). Séries temporais. fazenda.gov.br/series_temporais/principal.aspx. Acessado: Silva, F. H. (2013). Serial annotator: Managing annotations of time series. Master s thesis, Universidade Estadual de Campinas - UNICAMP. Supervisor Claudia Bauzer Medeiros. Sousa, S. R. (2010). Gerenciamento de anotações semânticas de dados na web para aplicações agrícolas. Master s thesis, Universidade Estadual de Campinas - UNICAMP. Supervisor Claudia Bauzer Medeiros. von Landesberger, T., Voss, V., and Kohlhammer, J. (2009). Semantic search and visualization of time-series data. In Networked Knowledge-Networked Media, pages Springer.

140 2. Resumo dos pôsteres A ciência conhece um único comando: contribuir com a ciência. Bertold Brecht

141 Resumo dos pôsteres 140 A Model-Driven Infrastructure for Developing Dynamic Software Product Line Junior Cupe Casquina 1, Cecília M.F. Rubira 1 1 Institute of Computing University of Campinas(Unicamp) Campinas, SP, Brazil jcupe.casgmail.com, cmrubira@ic.unicamp.br Abstract. A fundamental principle of SPLs is variability management, which involves separating the product line into three parts-common, common to some but not all products, and individual-and managing these throughout development. At present, there is a growing need for systems to be able to self-adapt to dynamic variations in runtime. To address this need, researchers have investigated dynamic software product lines, also to facilitate the development of this kind of systems it is needed to have infrastructures or tools to create dynamic software product lines. This article proposes a infrastructure to create dynamic software product lines. 1. Introduction A product line is a set of products in a product portfolio that share similarities and that are, ideally, created from a set of reusable parts. Instead of offering a single, standardized product, manufacturers offer multiple products. The software product line (SPL) approach provides a form of mass customization by constructing individual solutions based on a portfolio of reusable software components. Instead of developing software systems from scratch, they should be constructed from reusable parts and it should be tailored to requirements of the customer, where customers can select from a large space of configurations options [Apel et al. 2013]. SPL engineering handles the development and maintenance of families of software products. For these purpose, core assets, also known as domain artifacts, are defined as parts that are built to be used by more than one product in the family, while product artifacts, or applications artifacts, are specific parts of the software products [Reinhartz-Berger 2013]. A key distinction of software product line engineering from other reuse approaches is that the various assets themselves contain explicit variability. For example, a representation of the requirements may contain an explicit description of specific requirement that apply only for a certain subset of the products. Dynamic software product lines (DSPLs) extend existing product line engineering approaches by moving their capabilities to runtime - in other words, produce software capable of adapting to changes in user needs and resource constraints [Hallsteinsen et al. 2008]. There is a growing need for systems to be able to self-adapt to dynamic variations in user requirements and system environments. To address this need, researchers have investigated dynamic software product lines. 2. The Infrastructure At present, there are few proposals in support of runtime variability models but none of them cover the full spectrum of a complete solution to be used by a DSPL model. One

142 141 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica of these solutions relies on the Common Variability language (CVL) as an attempt for modeling runtime variability transformations, as it allows different types of substitutions to re-configure new versions of base models. Our proposal infrastructure relies on the ArCMAPE, therefore it uses the cvl to model the variability into the software product line and to model runtime variability transformations. Our infrastructure is generic to develop dynamic software product line instead of dynamic Fault-Tolerant software. The CVL is a domain-independent language for specifying and resolving variability, it allows the specification of variability over models of any language defined using a MOF-based metamodel [Nascimento et al. 2014]. Figura 1. An Overview of new ArCMAPE The figure 1 show a overview of the new ArCMAPE, Then we can say that the old ArCMAPE is an instance of our new infrastructure. 3. Expected Results It is expected to have the new infrastructure in an eclipse plug-in to this way create a tool that allows help to develop dynamic software products lines. Also it is expected to prove our Model-Driven infrastructure using two case of study. Referências Apel, S., Batory, D., Kastner, C., and Saake, G. (2013). Software product lines. In Feature-Oriented Software Product Lines, pages Springer Berlin Heidelberg. Hallsteinsen, S., Hinchey, M., Park, S., and Schmid, K. (2008). Dynamic software product lines. Computer, 41(4): Nascimento, A., Rubira, C., and Castor, F. (2014). ArCMAPE: A software product line infrastructure to support fault-tolerant composite services. In 2014 IEEE 15th International Symposium on High-Assurance Systems Engineering (HASE), pages Reinhartz-Berger, I. (2013). When aspect-orientation meets software product line engineering. In Reinhartz-Berger, I., Sturm, A., Clark, T., Cohen, S., and Bettin, J., editors, Domain Engineering, pages Springer Berlin Heidelberg.

143 Resumo dos pôsteres 142 Aplicação do Critério Análise de Mutantes para Avaliação dos Casos de Testes Gerados a partir de Modelos de Estados Wallace Felipe Francisco Cardoso, Eliane Martins Instituto de Computação Universidade Estadual de Campinas (UNICAMP) Caixa Postal Campinas SP Brasil wallacefcardoso@gmail.com, eliane@ic.unicamp.br Resumo. Modelos de sistemas de software são frequentemente utilizados durante todo o processo de desenvolvimento como ponte entre clientes e desenvolvedores. O critério Análise de Mutantes é considerado por pesquisadores como um ótimo critério de avaliação de conjuntos de teste. Neste trabalho, propomos uma ferramenta de teste com suporte a Análise de Mutantes, no contexto de Máquina de Estados Finita Estendida, e a utilização desta ferramenta na avaliação dos conjuntos de teste gerados pelo Teste Baseado em Busca Multiobjetivo. 1. Introdução e Conceitos O critério Análise de Mutantes (AM) é um dos critérios de teste baseados em defeitos. Alguns pesquisadores o consideram um critério poderoso por subsumir outros critérios de teste. O objetivo da AM é auxiliar o testador a criar bons conjuntos de teste capazes de revelar a presença de determinados tipos específicos de defeitos. Como não é possível se utilizar de todos os possíveis defeitos de uma determinada linguagem para extração dos requisitos de teste, a AM utiliza-se de duas hipóteses na seleção de um subconjunto de possíveis defeitos: a hipótese do programador competente e a hipótese do efeito de acoplamento. A hipótese do programador competente afirma que programadores competentes escrevem seus programas ou correto, ou muito próximo do correto. A hipótese do efeito de acoplamento afirma que se um caso de teste é capaz de revelar a presença de defeitos em M1 e M2, este também é capaz de revelar a presença de defeitos em M3, onde M3 é a fusão entre M1 e M2 [Delamaro et. al. 2007] [Fabbri 1997]. Um requisito de teste na Análise de Mutantes é conhecido como mutante, o qual é uma versão defeituosa do artefato sob teste. A escolha de como e onde a mutação ocorrerá é obtida através dos operadores de mutação. Dado um caso de teste T, e um mutante M gerado a partir de um artefato A, diz-se que T matou M se e somente se a saída de teste obtida em M é diferente da saída obtida em A. Se as saídas são iguais, duas opções são válidas: ou M é equivalente a A, ou T não é capaz de identificar as diferenças entre ambos. Os mutantes equivalentes não devem ser considerados na análise dos resultados, logo, devem ser identificados e descartados. Para que um conjunto de teste seja adequado à Análise de Mutantes, todos os mutantes devem estar mortos, assim, deve haver para cada mutante pelo menos um caso de teste que consiga matá-lo [Jia e Harman 2011]. 2. Formulação do Problema Torna-se muito complexa a atividade de teste sem o uso de uma ferramenta de apoio. Neste trabalho, temos o objetivo de criar uma ferramenta de apoio ao teste com suporte a AM, no contexto de Máquina de Estados Finita Estendida (MEFE). Nosso trabalho

144 143 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica nos ajudará na avaliação de métodos automáticos de geração de casos de teste a partir de MEFE. É de interesse nosso avaliar a qualidade dos conjuntos de teste gerados pelo Teste Baseado em Busca Multiobjetivo (MOST, do inglês Multi-Objective Search- Based Testing), um método automático de geração de casos de teste proposto por Yano (2011), no contexto de MEFE. 3. Métodos e Resultados Este trabalho teve início com um levantamento teórico do critério AM, suas limitações, os operadores de mutação propostos para MEFE, e um estudo de como poderíamos utilizar técnicas de redução de custos em nossa pesquisa. Neste primeiro levantamento, conseguimos identificar um total de 31 operadores de mutação, e duas técnicas de redução de custos: a mutação aleatória e a mutação restrita. A segunda parte do trabalho consiste do desenvolvimento da ferramenta de apoio ao teste. Foi realizado um levantamento inicial dos requisitos, priorizando as operações básicas da AM, que são: geração, execução e análise de mutantes. Para o modelo de MEFE, utilizamos a notação da Unified Modeling Language (UML), toda codificação escrita em Tool Command Language (TCL), e formatação de arquivo em extensible Markup Language (XML). Para gerar o modelo executável utilizamos a biblioteca State Machine Compiler (SMC), e para executar o modelo utilizamos a biblioteca JACL. Devido a utilização dessas bibliotecas, optamos por adicionar Java como restrição de projeto. Na terceira parte deste trabalho, pretendemos utilizar as funcionalidades da ferramenta desenvolvida para avaliar os conjuntos de teste gerados pelo MOST. 4. Considerações Finais O teste com mutantes se mostrou muito eficiente comparado a outros critérios de teste. A aplicação de testes em modelos de software contribui a uma melhoria de todo um processo de desenvolvimento de software, diminui-se custos à medida que aumenta a qualidade do produto final. Por se tratar de uma ferramenta acadêmica, espera-se que esta contribua com pesquisas futuras que envolvam tanto a AM quanto os métodos automáticos de geração de casos de teste. Referências DELAMARO, Márcio Eduardo; MALDONADO, José Carlos Maldonado; JINO, Mario. Introdução ao teste de software. Elsevier Brasil, FABBRI, Sandra Camargo Pinto Ferraz. A análise de mutantes no contexto de sistemas reativos: uma contribuição para o estabelecimento de estratégias de teste e validação. PhD thesis, USP, São Carlos, SP, JIA, Yue; HARMAN, Mark. An analysis and survey of the development of mutation testing. Software Engineering, IEEE Transactions on, 2011, 37.5: YANO, Thaise. Uma abordagem evolutiva multiobjetivo para geração automática de casos de teste a partir de máquinas de estados. PhD thesis, IC/Unicamp, Campinas, SP, 2011.

145 Resumo dos pôsteres 144 Combining active semi-supervised learning through optimum-path forest Priscila T.M. Saito 1,2, Willian P. Amorim 3, Alexandre X. Falcão 1, Pedro J. de Rezende 1, Celso T.N. Suzuki 1, Jancarlo F. Gomes 11, Marcelo H. de Carvalho 3 1 Institute of Computing, University of Campinas, SP, Brazil 2 Dept. of Computer Engineering, Federal Technological University of Parana, PR, Brazil 3 Institute of Computing, Federal University of Mato Grosso do Sul, MS, Brazil Abstract. Active and semi-supervised learning have emerged as a promising way for automatic classification when labeled data are scarce and unlabeled data are abundant. In previously studied approaches, the active learning strategies require the classification and/or organization of samples at each learning iteration. For large datasets, these strategies become very inefficient or even infeasible. We proposed an efficient and effective active semi-supervised approach, whose learning set is substantially reduced and the organization of samples takes place only once. The experimental evaluation shows that our approach improves the selection of the labeled set and diminishes the propagated errors on the unlabeled set. Moreover, it is able to identify samples from all classes quickly while keeping expert interaction to a minimum. Given the limited availability of labeled samples in contrast to an unbounded number of unlabeled ones, semi-supervised learning (SSL) has become an increasingly popular learning approach. However, most of researches in this area typically assumes that the labeled set is given and fixed [Zhu 2008]. Recent applications involving very large amounts of unlabeled samples would certainly benefit from a combination of active learning and semi-supervised learning strategies [Goldberg et al. 2011, Yu et al. 2010], as this woud allow for the identification and labeling of a small number of better representative samples. Despite some efforts in active semi-supervised learning, their success depends on an approach suitable to be applied to large real datasets. We introduce an approach, called Active Semi-Supervised Learning Based on Optimum-Path Forest (ASSL-OPF) [Saito et al. 2014a]. ASSL-OPF is a novel integration of semi-supervised learning [Amorim et al. 2014] and a priori-reduction and organization criteria [Saito et al. 2014b] for active learning based on OPF classifiers [Papa et al. 2012]. It dramatically differs from standard active learning in which all samples in the database have to be classified and/or reorganized at each learning iteration. The active learning strategy reduces the possibility of selecting an irrelevant sample from a large learning set, since a well chosen size reduction process and an a priori ordering allow essentially good informative samples. In the ASSL-OPF, the learning set is substantially reduced and the organization of samples takes place only once. We carried out an experimental evaluation on real datasets. We compared ASSL- OPF with RSSL-OPF, a semi-supervised learning approach [Amorim et al. 2014] in which the labeled and unlabeled samples were randomly selected. The results demon-

146 145 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica strate that our ASSL-OPF approach attains significantly fast and high accuracies, by selecting the most representative set to be annotated by an expert, while decreasing the propagated errors on the unlabeled set throughout the semi-supervised learning iterations. In addition, ASSL-OPF is able to identify and select samples from all classes more quickly while keeping expert interaction to a minimum. In order to appreciate the quality of the results obtained on each dataset by ASSL-OPF, we present the total size of the learning set Z, the total number of samples annotated/corrected by the expert, mean accuracies with standard deviations and computational time (in minutes) for selecting the most representative samples at the end of the learning cycle (Table 1). This highlights the superior efficacy and efficiency advantage of the ASSL-OPF on practical applications. Table 1. Total size of the learning set Z, total number of annotated samples, mean accuracies ± standard deviations and selection computational times for ASSL-OPF. datasets Z annotated accuracy ± std time Statlog 1, % 90.79% ± Faces 1, % 99.26% ± Pendigits 8, % 98.76% ± Cowhide 1, % 99.66% ± Parasites 1, % 97.82% ± References Amorim, W. P., Falcão, A. X., and de Carvalho, M. H. (2014). Semi-supervised pattern classification using optimum-path forest. In XXVII SIBGRAPI Conference on Graphics, Patterns and Images (SIBGRAPI), pages 1 7. Goldberg, A. B., Zhu, X., Furger, A., and Xu, J.-M. (2011). Oasis: Online active semisupervised learning. In AAAI Conference on Artificial Intelligence. AAAI Press. Papa, J. a. P., Falcão, A. X., de Albuquerque, V. H. C., and Tavares, J. a. M. R. S. (2012). Efficient supervised optimum-path forest classification for large datasets. Pattern Recognition, 45(1): Saito, P. T. M., Amorim, W. P., Falcão, A. X., de Rezende, P. J., Suzuki, C. T. N., Gomes, J. F., and de Carvalho, M. H. (2014a). Active semi-supervised learning using optimumpath forest. In 22nd International Conference on Pattern Recognition, pages 1 6. Saito, P. T. M., de Rezende, P. J., Falcão, A. X., Suzuki, C. T. N., and Gomes, J. F. (2014b). An active learning paradigm based on a priori data reduction and organization. Expert Systems with Applications, 41(14): Yu, D., Varadarajan, B., Deng, L., and Acero, A. (2010). Active learning and semisupervised learning for speech recognition: A unified framework using the global entropy reduction maximization criterion. Computer Speech and Language, 24(3): Zhu, X. (2008). Semi-supervised learning literature survey. Technical Report 1530, Computer Sciences, University of Wisconsin-Madison.

147 Resumo dos pôsteres 146 Desenvolvimento de um ambiente de baixo custo para o uso de Interfaces Tangíveis no ensino de crianças de educação fundamental Marleny Luque Carbajal 1, M. Cecília C. Baranauskas 1 1 Instituto de Computação Universidade Estadual de Campinas (Unicamp) Caixa Postal Campinas SP Brazil marleny.carbajal@students.ic.unicamp.br, cecilia@ic.unicamp.br Abstract. The Tangible Interfaces introduce innovative forms of interaction that may be more natural to the human, and have been widely spread in various fields, including education. The Tangible Interfaces have great potential to support the child's interaction with technology, because they exploit the innate ability of human to act in the physical space and interact with physical objects. Developing countries can hardly invest in this type of technology for economic reasons, among others. This research project aims to develop a low cost environment based on Tangible Interfaces that complements the teaching in the basic education. Resumo. As Interfaces Tangíveis introduzem formas de interação inovadoras que podem ser mais naturais ao ser humano, e têm se difundido em vários campos, inclusive na Educação. As Interfaces Tangíveis têm um grande potencial para apoiar a interação da criança com a tecnologia, porque elas exploram a capacidade inata dos seres humanos para atuar no espaço físico e interagir com objetos físicos. Os países em desenvolvimento ainda não podem investir neste tipo de tecnologia por razões econômicas, entre outras. Este projeto de pesquisa tem como objetivo desenvolver um ambiente de baixo custo baseado nas Interfaces Tangíveis que complemente o ensino do nível fundamental. 1. Introdução Nos últimos anos, o uso generalizado de sistemas de computador exige que a interação entre usuários e computadores seja mais natural e accessível possível. A necessidade de o usuário realizar seu trabalho naturalmente tem demandado o uso de novas tecnologias. Nesse cenário, surgem as Interfaces Tangíveis, que permitem as pessoas interagir com a informação digital por meio de um ambiente físico de forma mais natural [Ullmer e Ishii 2000]. A abordagem tangível aplicada na educação tem o potencial de estimular e trabalhar diversos sentidos (visão, audição, tato), além de promover maior inclusão social. 2. Objetivo Desenvolver um ambiente de jogos lúdico-educativos de baixo custo com base nas Interfaces Tangíveis.

148 147 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 3. Método Por meio da câmera web, a informação associada ao fiducial maker é enviado ao framework de código aberto reactivision [Kaltenbrunner 2009]. Desenvolvemos um aplicativo para plataforma Linux que comunica o reactivision com a linguagem de programação Scratch. A resposta é mostrada em forma de imagem e áudio na tela do computador. O ambiente mostrado na Figura 1 possui um pequeno computador de baixo custo chamado Raspberry Pi que aceita conexão de mouse, keyboard e pode ser conectado a um aparelho de televisão ou uma tela de computador. Para avaliação do ambiente (hardware e software) serão realizados casos de estudo nos quais participarão as crianças e outros atores do ambiente de ensino. Figura 1. Ambiente de baixo custo. 4. Exemplo do cenário A criança deve usar peças com as quais está familiarizada. Cada peça vai ter associado um fiducial maker. O único dispositivo de entrada para o computador será uma câmera. A criança interage como o sistema mostrando objetos para a câmera. O software desenvolvido e instalado deve reconhecer o código relacionado ao objeto. O sistema deve emitir uma resposta adequada por meio de imagem e áudio. 7. Conclusão As Interfaces Tangíveis constituem uma abordagem inovadora que propõe enriquecer os materiais concretos com elementos computacionais, criando recursos didáticos uteis no campo da educação. Neste projeto propomos um ambiente de baixo custo composto por hardware e software que tenha como entrada as Interfaces Tangíveis (TUI) e como saída uma interface gráfica (GUI) que complemente o ensino de nível fundamental sem fazer um enorme investimento. Referências Ullmer, B. and Ishii, H. (2000) Emerging frameworks for tangible user interfaces, In: IBM Systems Journal, Vol. 39(3/4): HKaltenbrunner, M. (2009) reactivision and TUIO: A tangible tabletop toolkit. In: Proceedings of the ACM Internacional Conference on Interactive Tabletops and Surfaces, pp

149 Resumo dos pôsteres 148 Explorando os Benefícios das Interfaces Tangíveis no Tratamento de Crianças Autistas Kim P. Braga 1, Maria Cecília C. Baranauskas 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) Caixa Postal Campinas SP Brasil kimpbraga@gmail.com, c.baranauskas@gmail.com Resumo. Este artigo apresenta uma proposta de interação tangível através de um tablet, utilizando seu magnetômetro para identificar os tokens. Esta interação será utilizada em jogos educativos para crianças com autismo, na esperança de aproximar as crianças da informática e tornar as atividades mais divertidas e interativas. 1. Contexto O autismo é um Transtorno Global do Desenvolvimento (TDG) reconhecido por apresentar três características principais: (1) habilidade de interação social debilitada; (2) desenvolvimento da linguagem prejudicado, e (3) comportamento restritivo e repetitivo[1]. Tendo em vista o crescente reconhecimento de pessoas com este transtorno [2], e as dificuldade de aprendizado e comunicação que as crianças autistas têm nos primeiros anos de vida, este trabalho propõe a investigação dos benefícios que as interfaces tangíveis podem trazer a essas crianças. 2. Interfaces Tangíveis As interfaces tangíveis são formas de interagir com conteúdo digital através de objetos físicos [4]. Dentre as várias formas de se realizar este tipo de interação, este trabalho promove a tangibilidade utilizando um tablet como plataforma para os tokens (objetos interativos). A identificação dos tokens é feita utilizando ímãs dentro dos mesmos, de forma que a configuração destes ímãs gere uma alteração no campo magnético diferente uma da outra, permitindo ao aplicativo reconhecer qual é o token que está sendo colocado sobre o tablet. 3. O Jogo Durante a fase de idealização do projeto, fizemos contato com a APAE de Poços de Caldas. Lá, as crianças realizam atividades com objetos concretos que ajudam no tratamento da sua condição, e tentam ensinar habilidades básicas como: reconhecimento de formas e cores, formação de palavras, habilidades básicas em matemática, entre outras. O jogo oferece dois tipos de atividades, reconhecimento de formas e de cores; cada jogo traz três tipos de dificuldade, que se diferem na quantidade total de formas ou

150 149 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica cores que serão utilizados no desafios: o nível iniciante são três, intermediário seis e o avançado são nove. Cada desafio consiste em pedir que a criança coloque sobre o tablet um objeto (token), que tem a respectiva representação gráfica. Cada ciclo do jogo, ou seja, para cada vez que for selecionado o tipo de atividade (formas ou cores) e uma dificuldade (iniciante, intermediário, avançado), o jogo apresentará dez desafios nessa configuração; isso ajuda a manter a idéia de começo meio e fim que é fator importante para a rotina do autista. 4. Considerações Finais Esperamos que, com os testes práticos do aplicativo, sejam identificados indicadores positivos no tratamento profissional do caso em questão (por ex. imaginamos observar aspectos como tempo de interação, sinais de socialização, afetividade e diversão se apropriados). Superamos um dos desafios iniciais do projeto, que é como realizar a interação tangível através de um tablet como plataforma, tendo como ponto de partida as referências [5] e [6]. Os próximos passos do projeto serão o uso e avaliação do aplicativo em uma sala específica onde as crianças autistas realizam sua rotina de atividades. Referências [1] Dr. Drauzio Varella. Corpo Humano, Autismo. Disponível em: < >. Acesso em: ago. de [2] SCHWARTZMAN, José Salomão (16 de Setembro de 2010). Autismo e outros transtornos do espectro autista. Revista Autismo, edição de setembro de [3] JUNIOR, Paiva (20 de Março de 2013). Há 1 autista em cada 50 crianças nos EUA, segundo governo. Revista Autismo, edição de março de 2013 disponível em: < Acesso em 18 ago [4] Ishii, H. (2008). Tangible bits: beyond pixels. Interface, xv. doi: / [5] Ketabdar, H., Yüksel, K., & Roshandel, M. (2010). MagiTact: interaction with mobile devices based on compass (magnetic) sensor. Proceedings of the 15th INTERNATIONAL CONFERENCE ON INTELLIGENT USER INTERFACES. Retrieved from [6] Bianchi, A., & Oakley, I. (2013). Designing tangible magnetic appcessories. Proceedings of the 7th International Conference on Tangible, Embedded and Embodied Interaction - TEI 13, 255. doi: /

151 Resumo dos pôsteres 150 Identificação de Programas Maliciosos por meio da Monitoração de Atividades Suspeitas no Sistema Operacional Marcus Felipe Botacin 1, Prof. Dr. Paulo Lício de Geus 1, André R. A. Grégio 1,2 1 Instituto de Computação Universidade Estadual do Campinas (UNICAMP) {marcus,paulo}@lasca.ic.unicamp.br 2 Centro de Tecnologia da Informação Renato Archer (CTI) andre.gregio@cti.gov.br Abstract. Malware are persistent threats to systems security that are constantly evolving to hinder detection and dynamic analysis techniques. Currently, there is no publicly known dynamic analysis system that supports 64-bits malware. In this paper, we propose of a novel malware dynamic analysis system for Windows 8, as well as results of testing it with 2,937 malware samples. Resumo. Programas maliciosos (malware) são uma ameaça persistente à segurança, evoluindo constantemente para evitar a detecção e análise dinâmica. Atualmente, não há sistema conhecido publicamente que suporte malware de 64 bits. Neste artigo, propõe-se um novo sistema de análise dinâmica de malware em Windows 8, avaliado com exemplares. 1. Introdução Os sistemas operacionais Windows são os principais alvos de ataques por malware, programas maliciosos que subvertem a operação legítima de um sistema computacional de modo a violar sua integridade, confidencialidade ou disponibilidade. Embora os sistemas Windows 7 e 8 (NT versão acima de 6) introduzam diversos mecanismos novos para aumentar a segurança, eles apresentam compatibilidade com aplicações feitas para XP (NT 5), podendo portanto executar programas em 32 e 64 bits. Devido às diferenças entre as versões de Windows, é necessário a compreensão de como os exemplares de malware se comportam durante a execução no Windows 8. Mais do que isso, é necessário projetar e implementar uma nova ferramenta de monitoração de comportamento de execução de programas capaz de atuar em sistemas de 64 bits. Neste artigo, propõe-se um sistema de análise dinâmica de malware baseado em Windows 8 e apresenta-se os resultados obtidos com a execução de mais de 2 mil exemplares de malware. 2. Aspectos Técnicos do NT 6.x A proteção de patch de kernel, como definida em [Microsoft 2013], proíbe que drivers estendam ou substituam serviços do kernel por meios não documentados. Outro mecanismo que visa evitar que componentes arbitrários sejam carregados no kernel se refere a exigência de assinatura de drivers por parte da Microsoft. De modo a tentar isolar diferentes famílias de aplicações, o Windows passou a implementar o conceito de sessões, no qual os dados e privilégios de execução de cada uma dessas famílias ficam restritos às mesmas. Além dos mecanismos citados, novas interfaces de programação estão presente, sendo o uso desta fundamental para explorar toda a capacidade do kernel do Windows 8.

152 151 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 3. Projeto do Sistema Proposto Rossow et al. [Rossow et al. 2012] discutem que o método de monitoração deve atuar em um nível mais privilegiado do que o objeto sob análise. Dessa forma, decidiu-se implementar a ferramenta de monitoração através de um driver de kernel que aplica as técnicas de callbacks e filesystem filter para interceptação das ações realizadas pelo programa monitorado nos subsistemas de Registro, processos e sistema de arquivos. Na parte de rede, o tráfego gerado durante a execução é capturado via tcpdump. 4. Testes e Resultados Foram feitas análises de exemplares de malware coletados entre janeiro e junho de 2014 (Tabela 1). Verificou-se certas ações potencialmente maliciosas por parte dos exemplares analisados, como a finalização de mecanismos antívirus e firewall instalados no sistema operacional, a criação de novos arquivos e injeções de código, bem como tentativa de persistência e remoção de evidências. A análise do tráfego de rede mostrou que aproximadamente a metade dos exemplares fez uso do protocolo HTTP para buscar novos componentes ou enviar dados para o atacante. Além disso, foi possível observar atividades em outras portas, incluindo envio de s e conexões IRC. Tabela 1. Atividades monitoradas e quantidade de exemplares que as exibiram. Atividade Qtde. Porcentagem Escrita no Registro ,53% Remoção de chave(s) do Registro ,29% Criação de processo(s) ,50% Término de processos ,52% Escrita em arquivo(s) % Leitra de arquivo(s) ,68% Remoção de arquivo(s) ,76% 5. Conclusão O sistema proposto é o único de que se tem notícia que é tanto capaz de executar arquivos no formato PE+ (64 bits) quanto de prover um ambiente de 64 bits (Windows 8) para análise de malware. Com os resultados obtidos, constatou-se que, devido a retrocompatibilidade, mesmo os mecanismos de segurança propostos a partir do NT 6 não impedem que exemplares compilados para Windows XP infectem Windows 8 Referências Microsoft (2013). Kernel patch protection for x64-based operating systems. ws.10).aspx. Acesso em junho/2014. Rossow, C., Dietrich, C. J., Kreibich, C., Grier, C., Paxson, V., Pohlmann, N., Bos, H., and van Steen, M. (2012). Prudent Practices for Designing Malware Experiments: Status Quo and Outlook. In Proceedings of the 33rd IEEE Symposium on Security and Privacy (S&P), San Francisco, CA.

153 Resumo dos pôsteres 152 Implementação de um simulador de plataforma ARMv7 utilizando ArchC Gabriel K. Bertazi, Edson Borin 1 Instituto de Computação Universidade Estadual de Campinas (UNICAMP) Av. Albert Einstein, 1251 Campinas SP Brasil gabriel.bertazi@students.ic.unicamp.br, edson@ic.unicamp.br Abstract. ArchC is an Architecture Description Language designed to generate single process virtual machines. This paper presents the modifications we made on an ARM model generated with ArchC, in order to extend it to support a complex operating system, such as GNU/Linux. Beyond providing us with a functional ARMv7 platform simulator for research and educational purposes, this project provided us with important insight on how to extend ArchC to automatically generate system level virtual machines. Resumo. ArchC é uma linguagem de descrição de arquiteturas que permite modelar a arquitetura em uma interface simulada de alto nível, com tempo reduzido e sem custos de implementação física de dispositivos de hardware. Todavia, os modelos só eram capazes de executar aplicações simples em nível de usuário. Neste trabalho, nós desenvolvemos um modelo de plataforma de um dispositivo baseado em arquitetura ARMv7, capaz de suportar o funcionamento de um sistema operacional GNU/Linux. O projeto, além de oferecer uma plataforma poderosa para pesquisas e desenvolvimento de aplicações baseadas em ARMv7, permitiu identificar limitações do ArchC na descrição de sistemas complexos, oferecendo mecanismos para o melhoramento desta ferramenta. 1. Introdução A simulação de um sistema computacional complexo demanda diversos outros módulos além da unidade central de processamento, responsável por executar as instruções interpretadas. De fato, dispositivos periféricos ao processador, como a unidade de gerenciamento de memória, coprocessadores e controladores de hardware, que podem ser tão complexos quanto o núcleo em si, têm um papel fundamental nos simuladores de sistema, ou seja, naqueles capazes de executar um sistema operacional e seus diversos processos. Enquanto a linguagem ArchC [Rigo et al. 2004] nos permite modelar o núcleo facilmente, através da descrição em alto nível das instruções simuladas, ela não oferece suporte à descrição destes periféricos, o que a impede de gerar simuladores de plataforma. Este trabalho consiste na extensão de um modelo de processador ARM [Auler 2009], visando torná-lo capaz de suportar a execução do Sistema Operacional GNU/Linux. Nós modelamos e conectamos ao núcleo de processamento escrito em ArchC, diversos modelos de periféricos de hardware que fazem parte da plataforma de desenvolvimento imx53 Quick Start Board [Freescale 2012], que utiliza um processador ARMv7. Assim, conseguimos executar todas as etapas do boot do dispositivo, desde a execução de código estático da ROM, todo o bootloader e parte do carregamento do núcleo Linux. Este projeto, além de oferecer uma máquina virtual de plataforma funcional de um sistema ARMv7, permitiu a identificação de diversas limitações do ArchC na descrição

154 153 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica de arquiteturas complexas, e o melhoramento desta ferramenta, com a inclusão de uma cache de decodificação com suporte a código auto modificável, e de uma unidade de decodificação completamente nova. 2. modelo de plataforma do ARMv7 Além do núcleo de processamento modelado em ArchC, nós desenvolvemos os seguintes modelos de periféricos, afim de tornar possível a execução do sistema operacional: Unidade de Gerenciamento de Memória, Coprocessador de Controle de Sistema, barramentos, memórias ROM e RAM, controladores e cartões SD, além de diversos outros dispositivos mais simples. Todos estes dispositivos foram modelados de acordo com a especificação da imx53 e conectados ao núcleo através de interfaces genéricas, visando automatizar futuramente a geração de dispositivos periféricos com o ArchC. Desenvolvemos também um sistema de bootstrapping em linguagem de montagem ARM, para ser alocado na memória ROM. Este é o primeiro código executado no sistema, e é responsável por iniciar o processo de boot, carregando e executando o bootloader, armazenado na memória do cartão SD modelado. Com estes modelos e sistemas, pudemos executar uma imagem do bootloader U- Boot com o núcleo Linux inalterada dentro do ambiente de simulação, até um estágio avançado do processo de carregamento do Linux, em que encontramos limitações no decodificador de instruções do ArchC, que impediram a modelagem de certas instruções de sistema, vitais à continuidade do processo de boot. 3. Conclusão Este trabalho apresenta o desenvolvimento de uma máquina virtual de sistema baseada em ARMv7 utilizando a linguagem ArchC. Pudemos demonstrar o boot do sistema parcialmente, passando por diversas etapas até atingir o núcleo Linux, onde a continuidade do trabalho foi afetada por limitações do ArchC, relacionadas à decodificação de instruções. A modelagem de uma máquina virtual de plataforma é uma tarefa complicada, exigindo técnicas complexas tanto para o desenvolvimento quanto para a depuração. A execução parcial do processo de boot do GNU no modelo permitiu obter uma visão global da complexidade envolvida, permitiu identificar limitações do ArchC e permitiu desenvolver novas técnicas de depuração, afim de simplificar a geração dos modelos em ArchC. Trabalhos futuros podem focar em mecanismos para superar as limitações do ArchC relativas ao processo de decodificação, bem como terminar o processo de boot no simulador, afim de torná-lo capaz de executar qualquer aplicação em nível de usuário. Referências Auler, R. e Centoducatte, P. (2009). Dotando ArchC com infraestrutura para geração de montadores e simuladores ARM. Em WSCAD-WIC 09: X Simpósio em Sistemas Computacionais - Workshop de Iniciação Científica. Freescale (2012). i.mx53 Multimedia Applications Processor Reference Manual. Freescale Semiconductors, Inc., Arizona - USA, imx53rm rev 2.1 edition. Rigo, S., Araujo, G., Bartholomeu, M., e Azevedo, R. (2004). ArchC: a SystemC-based architecture description language. Em 16th Symposium on Computer Architecture and High Performance Computing, SBAC-PAD 2004.

155 Resumo dos pôsteres 154 Oportunidades de economia de energia em dispositivos móveis João H. S. Hoffmam, Sandro Rigo, Edson Borin 1 Instituto de Computação Universidade Estadual de Campinas (Unicamp) Campinas SP Brasil jh.hoffmam@gmail.com, sandro@ic.unicamp.br, edson@ic.unicamp.br Resumo. Este artigo investiga o uso de código paralelo em dispositivos móveis e a sua relação com o consumo energético desses equipamentos, baseando-se em experimentos realizados com diferentes frequências e número de núcleos de processamento. Os resultados mostram as vantagens da paralelização e também a possibilidade de tornar a redução do consumo de energia ainda maior através de uma seleção cuidadosa das frequências de operação dos núcleos combinada com a paralelização das aplicações. 1. Introdução Dispositivos móveis representam uma grande revolução: equipamentos como smartphones e tablets foram responsáveis pelo surgimento de uma nova forma de pensar e usar a tecnologia, conquistaram uma grande e lucrativa parte dos mercados e trouxeram novos desafios para a ciência. A conjuntura atual requer que tais dispositivos apresentem desempenho cada vez melhor, ao mesmo tempo que a autonomia da bateria deve ser suficiente para o uso cotidiano sem restrições. Neste trabalho, nós exploramos como a execução de código paralelo em dispositivos móveis com múltiplos núcleos de processamento pode afetar a potência, o consumo de energia e o desempenho do sistema. 2. Metodologia Para explorarmos como a execução de código paralelo em dispositivos móveis com múltiplos núcleos de processamento pode afetar a potência, o consumo de energia e o desempenho do sistema, nós utilizamos os seguintes materiais: Um smartphone Samsung Galaxy S3 (GT-I9300); Um smartphone Samsung Galaxy S4 (GT-I9500); Uma fonte de alta precisão Minipa (modelo MPL-3305M); Um resistor de 0.25 ohm, produzido através da conexão de quatro resistores de alta precisão com resistência de 1 ohm; Um dispositivo de aquisição de dados NI USB-6212, da National Instruments; Uma estação de trabalho para coleta e processamento dos dados produzidos pelo dispositivo de aquisição; A suíte de aplicativos PARSEC 3.0; e O compilador GCC versão 4.8 para ARM. A versão utilizada foi configurada para fazer uso das instruções de ponto flutuante do processador (hard-float).

156 155 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 3. Resultados Os resultados obtidos apresentaram comportamentos variados, a depender do benchmark rodado. Neste texto, será mostrado apenas o exemplo mais comum. O gráfico da Figura 1 (a) mostra o comportamento do consumo energético em função da frequência para o Galaxy S3 de uma aplicação de codificação de vídeo que apresenta alto grau de paralelismo, enquanto a Figura 1 (b) caracteriza o tempo e o consumo energético em função da potência para a configuração mais eficiente. Energia(J) núcleo 2 núcleos 3 núcleos 4 núcleos Energia(J) Energia Tempo Tempo(s) Frequência(Mhz) Potência(W) (a) Energia em função da frequência para 1, 2, 3 e 4(b) Energia e tempo em função da potência para 4 núcleos ativos núcleos ativos 4. Conclusões Figura 1. Resultados experimentais para a aplicação x264 O consumo de energia em smartphones e tablets é um dos principais desafios para a evolução destes dispositivos. Neste trabalho, nós exploramos como a execução de código paralelo em dispositivos móveis com múltiplos núcleos de processamento pode afetar a potência, o consumo de energia e o desempenho do sistema. Os resultados apresentados permitem concluir, primeiramente, que a paralelização de código pode reduzir o consumo energético significativamente. Além disso, a convexidade proposta por Vogeleer [Vogeleer et al. 2014] pôde ser observada nos experimentos, com o ponto de menor consumo em torno de 800Mhz, correspondendo, em termos de potência, a cerca de 0.8W. Tal resultado indica que uma grande economia de energia pode ser alcançada caso o usuário esteja disposto a gastar um tempo um pouco maior na execução de um aplicativo. Além disso, a potência dissipada será menor, gerando, consequentemente, menos calor e permitindo uma utilização mais confortável do equipamento. Referências Vogeleer, K., Memmi, G., Jouvelot, P., and Coelho, F. (2014). The energy/frequency convexity rule: Modeling and experimental validation on mobile devices. In Parallel Processing and Applied Mathematics. Springer Berlin Heidelberg.

157 Resumo dos pôsteres 156 Video-Based Face Spoofing Detection through Visual Rhythm Analysis Allan Pinto 1, Anderson Rocha 1 1 Institute of Computing University of Campinas (Unicamp) Campinas-SP, Brazil, Abstract. Recent advances on biometrics, information forensics, and security have improved the accuracy of biometric systems, mainly those based on facial information. However, an ever-growing challenge is the vulnerability of such systems to impostor attacks, in which users without access privileges try to authenticate themselves as valid users. In our work, we present a solution to video-based face spoofing to biometric systems. Such type of attack is characterized by presenting a video of a real user to the biometric system. To evaluate the effectiveness of the proposed approach, we introduce the novel Unicamp Video-Attack Database (UVAD) which comprises 14, 870 videos composed of real access and spoofing attack videos. 1. Conceptualization and Motivation Biometric authentication is a technology concerned with recognizing humans in an automatic and unique manner based on behavior, physical and chemical traits. Examples of physical traits include fingerprint, geometric and veins of the hand, face, iris and retina. Speech and handwriting are examples of behavior traits and skin odor and DNA (Deoxyribonucleic Acid) information are examples of chemical traits [Jain and Ross 2008]. In the last decades, biometrics have emerged as an important mechanism for access control that has been used in many applications, in which the traditional methods including the ones based on knowledge (e.g., keywords) or based on tokens (e.g., smart cards) might be ineffective since they are easily shared, lost, stolen or manipulated. In contrast, the biometric access control has been shown as a natural and reliable authentication method [Jain and Ross 2008]. However, at the same time that significant advances have been achieved in biometrics, several spoofing attack techniques have been developed to deceive the biometric systems. Spoofing attack is a type of attack wherein an impostor presents a fake biometric data to the acquisition sensor with the goal of authenticating oneself as a legitimate user. Depending on the biometric trait used by the system, this mode of attack can be easily accomplished because some biometric data can be synthetically reproduced without much effort. Face biometric systems are highly vulnerable to such attacks since facial traits are widely available on the Internet, on personal websites and social networks. In addition, we can easily collect facial samples of a person with a digital camera. In the context of face biometrics, an attempt of spoofing attack can be performed by presenting to the acquisition sensor a photograph, a video or a 3D face model of a legitimate user enrolled in the database. If an impostor succeeds in the attack using any of these approaches, the uniqueness premise of the biometric system is violated, making the system vulnerable [Jain and Ross 2008].

158 157 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica 2. Contributions and Results In our work [Pinto 2013], we present a method for detecting video-based face spoofing attacks under the hypothesis that fake and real biometric data contain different acquisitionrelated noise signatures. To the best of our knowledge, this was the first attempt of dealing with video-based face spoofing based on the analysis of global information that is invariant to the video content. Our solution explores the artifacts added to the biometric samples during the viewing process of the videos in the display devices and noise signatures added during the recapture process performed by the acquisition sensor of the biometric system. Through the spectral analysis of the noise signature and the use of visual rhythms, we designed a feature characterization process able to incorporate temporal information of the behavior of the noise signal from the biometric samples. To contemplate a more realistic scenario, this dissertation introduces the Unicamp Video-based Attack Database (UVAD) [Pinto 2013] 1, specifically developed to evaluate video-based attacks in order to verify the following aspects/questions: (i) behavior of the method for attempted attacks with high resolution videos; (ii) influence of the display devices in our method; (iii) whether attacks with tablets are more difficult to be detected; (iv) influence of the biometric sensor in our method; (v) best feature characterization to capture the video artifacts; and (vi) comparison with one of the best anti-spoofing methods for photo-based spoofing attack of notice. Such verifications can be accomplished due to diversity of the devices used to create the database which comprises valid access and attempted attack videos of 304 different people. Each user was filmed in two sections in different scenarios and lighting conditions. The attempted attack videos were produced using eight different display devices and three digital cameras from different manufacturers. The database has 608 valid access videos and 14, 262 videos of video-based attempted spoofing attacks, all in full high definition quality. Results showed that there is an influence of the biometric sensor and of the display device, used during attack, on the proposed method. We also conclude that visual rhythms are best characterized whether consider them as texture maps and that tablet-based attacks normally are harder to be detected than LCD-based attacks. Finally, using a Gaussian filter, a horizontal visual rhythm, the Gray Level Co-occurrence Matrices feature descriptor, and using the Support Vector Machine classification technique, we obtained an AUC of 83.74%, %, and % in three different sensors. Acknowledgment We would like to thank the researchers Dr. Hélio Pedrini and Dr. William Robson Schwartz from IC/Unicamp and DCC/UFMG, respectively, by collaboration during realization this work. We also would like to thank Microsoft Research, FAPESP, CNPq, and CAPES for the financial support. References Jain, A. K. and Ross, A. (2008). Handbook of Biometrics, chapter Introduction to Biometrics, pages Springer. Pinto, A. (2013). A countermeasure method for video-based face spoofing attacks. Master s thesis, University of Campinas. 1 This database will be make public and freely available. Users present in the database formally authorized the release of their data for scientific purposes.

159 Resumo dos pôsteres 158 Wear-out Analysis of Error Correction Techniques in Phase-Change Memory Caio Hoffman, Rodolfo Jardim de Azevedo 1, Guido Costa Souza de Araújo 1 1 Advisors Institute of Computing University of Campinas (UNICAMP) Campinas SP Brazil {caio.hoffman, rodolfo, guido}@ic.unicamp.br Abstract. Phase-Change Memory (PCM) is a new memory technology and a possible replacement for DRAM, whose scaling limitations require new lithography technologies. Despite being promising, PCM has limited endurance (its cells withstand roughly 10 8 bit-flips before failing), which prompted the adoption of Error Correction Techniques (ECTs). In this work, we have shed new light on PCM lifetime analyses for the main published techniques in the literature. Our models enables not only an accurate analysis of PCM wear-out, but also a computation of energy consumed by ECTs. Phase-Change Memory (PCM) is a new memory technology considered a possible replacement for DRAM. PCM is byte-addressable, non-volatile, has multi-level cell (MLC) capability, and has demonstrated scalability beyond the 5nm manufacturing process [International Technology Roadmap for Semiconductor 2011]. A concern about PCM that hinders its use as main memory is its low endurance. Currently a PCM cell withstands around 10 8 bit-flips (modification of stored bit values) [Lee et al. 2009] before failing. In fact, considering the variability in the manufacturing process, PCM cells may withstand even less than 10 8 bit-flips, and a single cell failure may invalidate an entire PCM chip. Besides, PCM s endurance is far from that of DRAM (considered unlimited) [Schechter et al. 2010]. To extend the average lifetime of PCM chips, Error Correction Techniques (ECTs) have been used to ensure that a few cell failures will not cause a chip failure. Recently, some ECTs for PCM were proposed in the literature: DRM [Ipek et al. 2010], ECP [Schechter et al. 2010], SAFER [Seong et al. 2010], and FREE-p [Yoon et al. 2011]. To correct cell failures, ECP and SAFER leverage the features of resistive memories, whereas DRM and FREE-p use Error-Correcting Codes (ECCs). Unfortunately, the works that propose those ECTs have simplifying assumptions that overlook important characteristics of memory writes. First, they assume a Bit-Flip Probability (BFP) of 50%, i.e., on a write to a PCM memory block, every bit flips with a 50% probability. Second, they assume that the bit-flip behavior in data bits and code bits is identical. As we show in this paper, those assumptions can mislead the evaluation of PCM s lifetime while not enabling an accurate analysis of energy consumption. Moreover, Schechter et al. argue that ECCs speed up cell wear-out because any modification to data bits requires a rewrite of code bits (those used to correct errors in the We thank CNPq, CAPES, and FAPESP (2011/ ).

160 159 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica data bits) [Schechter et al. 2010]. However, the authors do not confirm their hypothesis with experimental results or theoretical analyses. In this work, we carefully evaluate those hypotheses by mathematically modeling the bit-flip behavior in DRM, SECDED, ECP, SAFER, and FREE-p. Specifically, our models consider that data and code bits have different bit-flip frequencies. This approach not only enables a more accurate evaluation of PCM s endurance for each ECT, but also it enables computing PCM s write energy at a finer granularity. This kind of analysis and comparison had not been done in the original ECT research. As our results, we introduced a more accurate and fine-grained approach to analyze the impact of ECTs on PCM s lifetime. Our approach also enables a meaningful computation of PCM write energy and its trade-off with memory endurance. This kind of analysis was not possible with previous ECT models, but it is still critical for modern computer systems. We evaluated five state-of-the-art ECTs using our approach and compared our results to those in the literature. Our results extend and shed light on previous works that used simplifying assumptions; and support the argument that ECC-based techniques speed up the wear-out of PCM. Referências International Technology Roadmap for Semiconductor (2011). Process integration, devices, and structures Edition. Ipek, E., Condit, J., Nightingale, E. B., Burger, D., and Moscibroda, T. (2010). Dynamically replicated memory: Building reliable systems from nanoscale resistive memories. SIGARCH Comput. Archit. News, 38(1):3 14. Lee, B. C., Ipek, E., Mutlu, O., and Burger, D. (2009). Architecting phase change memory as a scalable dram alternative. SIGARCH Comput. Archit. News, 37:2 13. Schechter, S., Loh, G. H., Straus, K., and Burger, D. (2010). Use ecp, not ecc, for hard failures in resistive memories. SIGARCH Comput. Archit. News, 38: Seong, N. H., Woo, D. H., Srinivasan, V., Rivers, J. A., and Lee, H.-H. S. (2010). Safer: Stuck-at-fault error recovery for memories. In Proceedings of the rd Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 43, pages , Washington, DC, USA. IEEE Computer Society. Yoon, D. H., Muralimanohar, N., Chang, J., Ranganathan, P., Jouppi, N., and Erez, M. (2011). Free-p: Protecting non-volatile memory against both hard and soft errors. In High Performance Computer Architecture (HPCA), 2011 IEEE 17th International Symposium on, pages

161 3. Programação do WTD A ciência, como um todo, não é nada mais do que um refinamento do pensar diário. Albert Einstein

162 161 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Neste capítulo, apresentamos a programação do IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica (WTD) do Instituto de Computação (IC) da UNICAMP. A palestra de abertura, intitulada Análise de Grandes Volumes de Dados Bibliográficos, foi ministrada pelo professor Luciano Antonio Digiampietri (USP). O professor Jorge Stolfi (IC-UNICAMP) ministrou o minicurso Fundamentos de estatística para computação. A professora Claudia Bauzer Medeiros (IC-UNICAMP) ministrou o minicurso Como Arruinar uma Apresentação Oral. As apresentações dos trabalhos foram realizadas em duas salas (351 e 352) e os pôsteres foram exibidos no saguão (Tabelas 3.1 a 3.4). Os trabalhos foram avaliados por diversos professores e por alunos de doutorado do IC, os quais participaram também como chairs das sessões. O IX WTD contou com a participação de mais de 100 pessoas, sendo que 31 apresentaram trabalhos oralmente, 12 na forma de pôster, mais de 100 pessoas participaram como ouvintes inscritos e 19 como membros do comitê de organização. A palestra e os minicursos foram transmitidos online pelo website do evento, que este ano foi remodelado. Os certificados foram confeccionados em formato eletrônico e enviados diretamente para os s dos participantes. Outra característica do evento foi a participação de alunos no papel de avaliadores da banca e chairs das sessões. A Figura 3.1 mostra a distribuição dos trabalhos por área de pesquisa. Houve 58% de trabalhos da área de Sistemas de Informação, 33% de Sistemas de Computação, 7% de Teoria da Computação e 2% de Sistemas de Programação. Destes, 58% dos trabalhos apresentados são de doutorado, 30%, de mestrado e 12% de alunos de iniciação científica (Figura 3.2). A Figura 3.3 apresenta uma tagcloud com as palavras-chaves utilizadas nos trabalhos.

163 Programação do WTD 162 Apresentações Orais Sala 353 (IC3) 11/08/2014 Início Trabalho N Aluno Orientador Área Chair 10:00 A Multiscale and Multi-Perturbation Blind Forensic D Anselmo Cas- Technique For Median Detecting telo Branco Ferreira 10:30 Modelo Ativo de Aparência Aplicado ao Reconhecimento IC Flávio Altinier de Emoções por Expressão Facial Maximiano da Parcialmente Oculta Silva 11:00 Preempção de Tarefas MapReduce via Checkpointingues M Augusto Rodri- de Souza 11:30 Ferramentas para simulação numérica na nuveteiro M Renan Mon- Pinto Neto 12:00 User Association and Load Balancing in Het- M Alexandre Nets Toshio Hirata 12:30 Almoço 14:00 Leitura Automatizada de Medidores de Consumo M José Rodrigues de Energia Utilizando Veículos Aéreos Torres Neto Não Tripulados Prof. Anderson de Rezende Rocha Prof. Hélio Pedrini Prof a. Islene Garcia Prof a. Juliana Freitag Borin Prof a. Juliana Freitag Borin Prof. Leandro Aparecido Villas 14:30 Decreasing Greenhouse Emissions Through an M Allan Mariano Prof. Leandro Intelligent Traffic Information System Based de Souza Aparecido Villas on Inter-Vehicle Communication 15:00 Processors Power Analysis in FPGA plataforms IC Jéssica Tavares Prof. Rodolfo Heffernan Azevedo 15:30 Coffee Break Apresentação dos Pôsteres 16:00 Optimizing Simulation in Multiprocessor Platforms D Maxiwell Sal- Prof. Sandro using Dynamic-Compiled Simulation vador Garcia Rigo 16:30 Uma Solução Ciente do Consumo de 9Energia para os Problemas de Localização 3D e Sincronização em RSSFs M Cristiano Borges Cardoso 17:00 Coloração de Arestas Semiforte de Grafos Split M Aloísio de Menezes Vilas- Bôas 17:30 O problema da partição em cliques dominantes M Henrique Vieira e Sousa 18:00 An Exact Algorithm for the Discrete Chromatic Art Gallery Problem M Maurício José de Oliveira Zambon Prof. Leandro Aparecido Villas Prof a. Célia Picinin de Mello Prof a. Christiane Neme Campos Prof. Pedro Jussieu de Rezende S.C. S.C. S.C. S.C. S.C. S.C. S.C. S.C. S.C. S.P. TE TE TE Vanessa Maike Fabio F. Atílio Gomes Luiz Tabela 3.1: Programação do IX WTD da sala 353 em 11 de agosto de 2014

164 163 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Apresentações Orais - Sala 352 (IC3) - 11/08/2014 Início Trabalho N Aluno Orientador Área Chair 14:00 A Fault-Tolerant Software Product Line for Data Collection using Mobile Devices and Cloud Infrastructure M Gustavo Mitsuyuki Waku Prof a. Cecília Mary Fischer Rubira 14:30 Uma Solução de Linha de Produtos de Software M Raphael Por- Prof a. Cecília Baseada em Componentes e Aspectos reca Azzolini Mary Fischer para o Domínio de e-commerce Rubira 15:00 An Architecture for Dynamic Self-Adaptation M Sheila Venero Prof a. Cecília in Workflows Ferro Mary Fischer Rubira 15:20 Coffee Break Apresentação de Pôsteres 16:00 Uma Solução para Monitoração de Serviços M Rômulo José Prof a. Cecília Web Baseada em Linhas de Produtos de Software Franco Mary Fischer Rubira 16:30 Information and Emotion Extraction in Portuguese D Fernando J. V. Prof a. Ariadne from Twitter for Stock Market Pre- da Silva M. B. R. Car- diction valho 17:00 Automatização da geração de testes em Behavior M Thaís Harumi Prof a. Eliane Driven Development Ussami Martins 17:30 Uma abordagem caixa-branca para teste de D Erika Regina Prof a. Eliane transformação de modelos Campos de Martins Almeida 18:00 Geração semiautomática de Máquinas Finitas de Estados Estendidas a partir de um documento padrão da área espacial D Juliana Galvani Greghi Prof a. Eliane Martins e Prof a. Ariadne M. B. R. Carvalho S.I. S.I. S.I. S.I. S.I. S.I. S.I. S.I. Ewerton Almeida Silva Heiko Hornung Tabela 3.2: Programação do IX WTD da sala 352 em 11 de agosto de 2014

165 Programação do WTD 164 Apresentações Orais - Sala 353 (IC3) - 12/08/2014 Início Trabalho N Aluno Orientador Área Chair 13:15 Superpixel-based interactive classification of very high resolution images 13:45 A Comparative Analysis between Object Atlas and Object Cloud Models for Medical Image Segmentation 14:15 Reconstrução de Filogenia para Imagens e Vídeos M John Edgar Vargas Muñoz Prof. Alexandre Falcão M Renzo Phellan Prof. Alexandre Falcão D Filipe de Oliveira Costa 14:45 Multiple Parenting Phylogeny M Alberto Arruda de Oliveira 15:15 Coffee Break 15:30 Diabetic Retinopathy Image Quality Assessment, Detection, Screening and Referral 16:00 Facilitando a construção social de significado em sistemas colaborativos de aprendizagem D José Ramon Trindade Pires M Fabrício Matheus Gonçalves D Ivelize Rocha Bernardo 16:30 Interpretation of Construction Patterns for Biodiversity Spreadsheets 17:00 Coffee Break 17:30 Processo Situado e Participativo para o Design D de Aplica-ções de TVDi: Uma Aborda- gem Técnico-Social 18:00 Complex pattern detection and specification from multiscale environmental variables for biodiversity applications 18:30 Supporting the study of correlations between time series via semantic annotations Samuel B. Buchdid D Jacqueline Midlej do Espírito Santo M Lucas Oliveira Batista Prof. Anderson de Rezende Rocha Prof. Anderson de Rezende Rocha Prof. Anderson de Rezende Rocha Prof a. M. Cecília C. Baranauskas Prof. André Santanchè Prof a. M. Cecília C. Baranauskas Prof a. Claudia Bauzer Medeiros Prof. Claudia Bauzer Medeiros S.I. S.I. S.I. S.I. S.I. S.I. S.I. S.I. S.I. S.I. Allan da Silva Pinto Juliana Galvani Greghi Ewerton Almeida Silva Tabela 3.3: Programação do IX WTD da sala 352 em 12 de agosto de 2014

166 165 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Apresentações de Pôsteres - Hall do IC3-11/08/2014 Início Trabalho N Aluno Orientador Área 15:30 Combining active semi-supervised learning through optimum-path forest Video-Based Face Spoofing Detection through Visual Rhythm Analysis A Model-Driven Infrastructure for Developing Dynamic Software Product Line Implementação de um simulador de plataforma ARMv7 utilizando ArchC Análise de Desempenho de Técnicas para Migração de Dados em Arquiteturas NUMA Oportunidades para economia de energia em dispositivos móveis Aplicação do Critério Análise de Mutantes para Avaliação dos Casos de Testes Gerados a partir de Modelos de Estados Wear-out Analysis of Error Correction Techniques in Phase-Change Memory Situated and Participatory Process for Designing idtv Applications: A Socio-Technical Approach Explorando as Interfaces Tangíveis no Tratamento de Crianças Autistas Desenvolvimento de um ambiente de baixo custo para o uso de interfaces tangíveis no ensino de crianças da educação fundamental Identificação de Programas Maliciosos por Meio da Monitoração de Atividades Suspeitas no Sistema Operacional D Priscila Tiemi Maeda Saito D Allan da Silva Pinto M Junior Cupe Casquina IC Gabriel Krisman Bertazi IC Gilvan dos Santos Vieira IC João Henrique Stange Hoffmam M Wallace Felipe Francisco Cardoso Prof. Alexandre Xavier Falcão Prof. Anderson de Rezende Rocha Prof a. Cecília Mary Fischer Rubira Prof. Edson Borin Prof. Edson Borin Prof. Edson Borin Prof a. Eliane Martins D Caio Hoffman Prof. Guido Costa Souza de Araújo e Prof. Mario Lúcio Côrtes D Samuel B. Buchdid Prof a. M. Cecília C. Baranauskas M Kim Pontes Braga Prof a. M. Cecília C. Baranauskas M Marleny Luque Prof a. M. Cecília Carbajal C. Baranauskas IC Marcus Felipe Botacin Prof. Paulo Lício de Geus S.I. S.I. S.I. S.C. S.C. S.C. S.I. S.C. S.I. S.I. S.I. S.C. Tabela 3.4: Programação do IX WTD Pôsteres

167 Programação do WTD 166 Figura 3.1: Distribuição das áreas de pesquisa dos trabalhos apresentados Figura 3.2: Quantidade relativa de alunos de Iniciação Científica, Mestrado e Doutorado

168 167 IX Workshop de Teses, Dissertações e Trabalhos de Iniciação Científica Figura 3.3: 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

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

Digital Cartographic Generalization for Database of Cadastral Maps

Digital Cartographic Generalization for Database of Cadastral Maps Mariane Alves Dal Santo marianedalsanto@udesc.br Francisco Henrique de Oliveira chicoliver@yahoo.com.br Carlos Loch cloch@ecv.ufsc.br Laboratório de Geoprocessamento GeoLab Universidade do Estado de Santa

Leia mais

Software product lines. Paulo Borba Informatics Center Federal University of Pernambuco

Software product lines. Paulo Borba Informatics Center Federal University of Pernambuco Software product lines Paulo Borba Informatics Center Federal University of Pernambuco Software product lines basic concepts Paulo Borba Informatics Center Federal University of Pernambuco Um produto www.usm.maine.edu

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

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

Scientific data repositories: the USP experience

Scientific data repositories: the USP experience Scientific data repositories: the USP experience Superintendência de Tecnologia da Informação 2018 : Sylvio Canuto Antonio Mauro Saraiva Superintendência de TI: João Eduardo Ferreira Fátima L. S. Nunes

Leia mais

User interface evaluation experiences: A brief comparison between usability and communicability testing

User interface evaluation experiences: A brief comparison between usability and communicability testing User interface evaluation experiences: A brief comparison between usability and communicability testing Kern, Bryan; B.S.; The State University of New York at Oswego kern@oswego.edu Tavares, Tatiana; PhD;

Leia mais

Geração automática de suíte de teste para GUI a partir de Rede de Petri

Geração automática de suíte de teste para GUI a partir de Rede de Petri Raquel Jauffret Guilhon Geração automática de suíte de teste para GUI a partir de Rede de Petri Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo

Leia mais

Lucas de Assis Soares, Luisa Nunes Ramaldes, Taciana Toledo de Almeida Albuquerque, Neyval Costa Reis Junior. São Paulo, 2013

Lucas de Assis Soares, Luisa Nunes Ramaldes, Taciana Toledo de Almeida Albuquerque, Neyval Costa Reis Junior. São Paulo, 2013 COMPARATIVE STUDY OF THE ATMOSPHERIC DISPERSION MODELS AND THROUGH THE ANALYSIS OF AIR QUALITY IN THE METROPOLITAN REGION OF GRANDE VITÓRIA Lucas de Assis Soares, Luisa Nunes Ramaldes, Taciana Toledo de

Leia mais

Simulação Gráfica e Visão Computacional. Soraia Raupp Musse

Simulação Gráfica e Visão Computacional. Soraia Raupp Musse Simulação Gráfica e Visão Computacional Soraia Raupp Musse Objetivo Analisar exemplos comerciais e do estado-da-arte científicos que utilizam dados reais para aprimorar a qualidade de simulações e animações.

Leia mais

T Ã O B O M Q U A N T O N O V O

T Ã O B O M Q U A N T O N O V O D I S S E R T A Ç Ã O D E M E S T R A D O M A S T E R I N G D I S S E R T A T I O N A V A L I A Ç Ã O D A C O N D I Ç Ã O D E T Ã O B O M Q U A N T O N O V O U M A A P L I C A Ç Ã O E N V O L V E N D O

Leia mais

A Tool to Evaluate Stuck-Open Faults in CMOS Logic Gates

A Tool to Evaluate Stuck-Open Faults in CMOS Logic Gates FURG A Tool to Evaluate Stuck-Open Faults in CMOS Logic Gates Alexandra L. Zimpeck, Cristina Meinhardt e Paulo F. Butzen Summary Introduction Motivation Stuck-Open Faults Stuck-Open Faults in Nanometer

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

BR-EMS MORTALITY AND SUVIVORSHIP LIFE TABLES BRAZILIAN LIFE INSURANCE AND PENSIONS MARKET

BR-EMS MORTALITY AND SUVIVORSHIP LIFE TABLES BRAZILIAN LIFE INSURANCE AND PENSIONS MARKET BR-EMS MORTALITY AND SUVIVORSHIP LIFE TABLES BRAZILIAN LIFE INSURANCE AND PENSIONS MARKET 2015 1 e-mail:mario@labma.ufrj.br Tables BR-EMS, mortality experience of the Brazilian Insurance Market, were constructed,

Leia mais

INFORMATION SECURITY IN ORGANIZATIONS

INFORMATION SECURITY IN ORGANIZATIONS INFORMATION SECURITY IN ORGANIZATIONS Ana Helena da Silva, MCI12017 Cristiana Coelho, MCI12013 2 SUMMARY 1. Introduction 2. The importance of IT in Organizations 3. Principles of Security 4. Information

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

Multicriteria Impact Assessment of the certified reference material for ethanol in water

Multicriteria Impact Assessment of the certified reference material for ethanol in water Multicriteria Impact Assessment of the certified reference material for ethanol in water André Rauen Leonardo Ribeiro Rodnei Fagundes Dias Taiana Fortunato Araujo Taynah Lopes de Souza Inmetro / Brasil

Leia mais

UERJ Programa de Pós-graduação em Engenharia Mecânica (PPGEM) Seminary Class

UERJ Programa de Pós-graduação em Engenharia Mecânica (PPGEM) Seminary Class UERJ Programa de Pós-graduação em Engenharia Mecânica (PPGEM) Seminary Class Simulation of energy performance of buildings: comparison of computational tools DOMUS and EnergyPlus. Mestrando: Paulo Roberto

Leia mais

UNIDADE DE PESQUISA CLÍNICA Centro de Medicina Reprodutiva Dr Carlos Isaia Filho Ltda. SAMPLE SIZE DETERMINATION FOR CLINICAL RESEARCH

UNIDADE DE PESQUISA CLÍNICA Centro de Medicina Reprodutiva Dr Carlos Isaia Filho Ltda. SAMPLE SIZE DETERMINATION FOR CLINICAL RESEARCH SAMPLE SIZE DETERMINATION FOR CLINICAL RESEARCH Duolao Wang; Ameet Bakhai; Angelo Del Buono; Nicola Maffulli Muscle, Tendons and Ligaments Journal, 2013 Santiago A. Tobar L., Dsc. Why to determine the

Leia mais

Serviços: API REST. URL - Recurso

Serviços: API REST. URL - Recurso Serviços: API REST URL - Recurso URLs reflectem recursos Cada entidade principal deve corresponder a um recurso Cada recurso deve ter um único URL Os URLs referem em geral substantivos URLs podem reflectir

Leia mais

Wiki::Score A Collaborative Environment For Music Transcription And Publishing

Wiki::Score A Collaborative Environment For Music Transcription And Publishing Wiki::Score A Collaborative Environment For Music Transcription And Publishing J.J. Almeida 1 N.R. Carvalho 1 J.N. Oliveira 1 1 Department of Informatics, University of Minho {jj,narcarvalho,jno}@di.uminho.pt

Leia mais

Contribution of the top boat game for learning production engineering concepts

Contribution of the top boat game for learning production engineering concepts Contribution of the top boat game for learning production engineering concepts Carla Sena Batista, Fabiana Lucena Oliveira, Enily Vieira do Nascimento, Viviane Da Silva Costa Novo Research Problem: How

Leia mais

Neutron Reference Measurements to Petroleum Industry

Neutron Reference Measurements to Petroleum Industry LABORATÓRIO NACIONAL DE METROLOGIA DAS RADIAÇÕES IONIZANTES IRD- Instituto de Radioproteção e Dosimetria Neutron Reference Measurements to Petroleum Industry Karla C. de Souza Patrão, Evaldo S. da Fonseca,

Leia mais

USPTO No. 15143095 USPTO No. 15143095 USPTO No. 15143095 USPTO No. 15143095 USPTO No. 15143095 USPTO No. 15143095 USPTO No. 15143095 WORK PLAN FOR IMPLEMENTATION OF THE UNITED STATES PATENT AND

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

OVERVIEW DO EAMS. Enterprise Architecture Management System 2.0

OVERVIEW DO EAMS. Enterprise Architecture Management System 2.0 OVERVIEW DO EAMS Enterprise Architecture Management System 2.0 NETWORKS @arqcorp_br #eamsrio http://arquiteturacorporativa.wordpress.com/ WE MANAGE KNOWLEDGE, WITH YOU Arquitetura Empresarial Repositório

Leia mais

Session 8 The Economy of Information and Information Strategy for e-business

Session 8 The Economy of Information and Information Strategy for e-business Session 8 The Economy of Information and Information Strategy for e-business Information economics Internet strategic positioning Price discrimination Versioning Price matching The future of B2C InformationManagement

Leia mais

Interactive Internet TV Architecture Based on Scalable Video Coding

Interactive Internet TV Architecture Based on Scalable Video Coding Interactive Internet TV Architecture Based on Scalable Video Coding Pedro Gomes Moscoso Dissertação para obtenção do Grau de Mestre em Engenharia de Redes de Comunicações Presidente: Orientador: Co-Orientador:

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

ÍNDICE PORTUGUÊS INDEX ENGLISH

ÍNDICE PORTUGUÊS INDEX ENGLISH ÍNDICE PORTUGUÊS 1. Características... 2 2. Conteúdo da Embalagem... 3 3. Como usar o Receptor de TV Digital... 3 4. Tela de Vídeo... 6 5.Requisitos Mínimos... 6 6. Marcas Compatíveis... 8 INDEX ENGLISH

Leia mais

Ontology Building Process: The Wine Domain

Ontology Building Process: The Wine Domain Ontology Building Process: The Wine Domain João Graça, Márcio Mourão, Orlando Anunciação, Pedro Monteiro, H. Sofia Pinto, and Virgílio Loureiro Summary Context Ontology Wine Domain Existing Wine Ontologies

Leia mais

Implementing a Data Warehouse with Microsoft SQL Server 2014 (20463)

Implementing a Data Warehouse with Microsoft SQL Server 2014 (20463) Implementing a Data Warehouse with Microsoft SQL Server 2014 (20463) Formato do curso: Presencial Localidade: Porto Com certificação: MCSA: SQL Server Data: 16 Jan. 2017 a 20 Jan. 2017 Preço: 1550 Horário:

Leia mais

Service quality in restaurants: an experimental analysis performed in Brazil

Service quality in restaurants: an experimental analysis performed in Brazil . XIII INTERNATIONAL CONFERENCE ON INDUSTRIAL ENGINEERING AND OPERATIONS MANAGEMENT Energy that moves production: a dialogue among integration, project and sustainability 09-11 October 2007 Service quality

Leia mais

Banca examinadora: Professor Paulo N. Figueiredo, Professora Fátima Bayma de Oliveira e Professor Joaquim Rubens Fontes Filho

Banca examinadora: Professor Paulo N. Figueiredo, Professora Fátima Bayma de Oliveira e Professor Joaquim Rubens Fontes Filho Título: Direção e Taxa (Velocidade) de Acumulação de Capacidades Tecnológicas: Evidências de uma Pequena Amostra de Empresas de Software no Rio de Janeiro, 2004 Autor(a): Eduardo Coelho da Paz Miranda

Leia mais

Métodos Quantitativos e Qualitativos na Engenharia (M2QE) Quantitative and Qualitative Methods in Engineering (QQME)

Métodos Quantitativos e Qualitativos na Engenharia (M2QE) Quantitative and Qualitative Methods in Engineering (QQME) Métodos Quantitativos e Qualitativos na Engenharia (M2QE) ------- Quantitative and Qualitative Methods in Engineering (QQME) Guimarães, 3 de outubro de 2013 Escola de Engenharia, Campus de Azurém Some

Leia mais

Uma arquitetura baseada em agentes de software para a automação de processos de gerênciadefalhasemredesde telecomunicações

Uma arquitetura baseada em agentes de software para a automação de processos de gerênciadefalhasemredesde telecomunicações Adolfo Guilherme Silva Correia Uma arquitetura baseada em agentes de software para a automação de processos de gerênciadefalhasemredesde telecomunicações Dissertação de Mestrado Dissertação apresentada

Leia mais

Dealing with Device Data Overflow in the Cloud

Dealing with Device Data Overflow in the Cloud Jaumir Valença da Silveira Junior Dealing with Device Data Overflow in the Cloud Dissertação de Mestrado Dissertation presented to the Programa de Pós- Graduação em Informática of the Departamento de Informática,

Leia mais

NORMAS PARA AUTORES. As normas a seguir descritas não dispensam a leitura do Regulamento da Revista Portuguesa de Marketing, disponível em www.rpm.pt.

NORMAS PARA AUTORES. As normas a seguir descritas não dispensam a leitura do Regulamento da Revista Portuguesa de Marketing, disponível em www.rpm.pt. NORMAS PARA AUTORES As normas a seguir descritas não dispensam a leitura do Regulamento da Revista Portuguesa de Marketing, disponível em www.rpm.pt. COPYRIGHT Um artigo submetido à Revista Portuguesa

Leia mais

Accessing the contents of the Moodle Acessando o conteúdo do Moodle

Accessing the contents of the Moodle Acessando o conteúdo do Moodle Accessing the contents of the Moodle Acessando o conteúdo do Moodle So that all the available files in the Moodle can be opened without problems, we recommend some software that will have to be installed

Leia mais

Manual de normas gráficas Graphic guidelines handbook 2008

Manual de normas gráficas Graphic guidelines handbook 2008 Manual de normas gráficas Graphic guidelines handbook 2008 Introdução Introduction Este documento fornece as normas para a correcta utilização e reprodução da Identidade Visual da Cavalum SGPS, S.A. Serve

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

FATORES QUE INTERFEREM NA QUALIDADE DO SERVIÇO NA UNIDADE DE SAÚDE DA FAMÍLIA RENATO AUGUSTO PEDREIRA LEONNI EM SANTO AMARO DA PURIFICAÇÃO-BA.

FATORES QUE INTERFEREM NA QUALIDADE DO SERVIÇO NA UNIDADE DE SAÚDE DA FAMÍLIA RENATO AUGUSTO PEDREIRA LEONNI EM SANTO AMARO DA PURIFICAÇÃO-BA. UNIVERSIDADE CASTELO BRANCO ATUALIZA ASSOCIAÇÃO CULTURAL CURSO DE PÓS-GRADUAÇÃO EM MBA EXECUTIVO EM SAÚDE- GESTÃO HOSPITALAR KARLA MICHELLINE OLIVEIRA BOAVENTURA FATORES QUE INTERFEREM NA QUALIDADE DO

Leia mais

hdd enclosure caixa externa para disco rígido

hdd enclosure caixa externa para disco rígido hdd enclosure caixa externa para disco rígido USER S GUIDE SPECIFICATONS HDD Support: SATA 2.5 Material: Aluminium and plastics Input connections: SATA HDD Output connections: USB 3.0 (up to 5.0Gbps)

Leia mais

The L2F Strategy for Sentiment Analysis and Topic Classification

The L2F Strategy for Sentiment Analysis and Topic Classification The L2F Strategy for Sentiment Analysis and Topic Classification Fernando Batista and Ricardo Ribeiro Outline Data Approach Experiments Features Submitted runs Conclusions and future work TASS discussion

Leia mais

Métodos Formais em Engenharia de Software. VDMToolTutorial

Métodos Formais em Engenharia de Software. VDMToolTutorial Métodos Formais em Engenharia de Software VDMToolTutorial Ana Paiva apaiva@fe.up.pt www.fe.up.pt/~apaiva Agenda Install Start Create a project Write a specification Add a file to a project Check syntax

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

The Indigenous Population of Brazil 1991 Population Census

The Indigenous Population of Brazil 1991 Population Census The Indigenous Population of Brazil 1991 Population Census Authors: Nilza Oliveira Martins Pereira (principal author), Tereza Cristina Nascimento Araujo, Valéria Beiriz, Antonio Florido- IBGE The definition

Leia mais

Validation of the Paratest as efficient method for parasitological diagnosis

Validation of the Paratest as efficient method for parasitological diagnosis Validation of the Paratest as efficient method for parasitological diagnosis TEODORO B. K.; ROBERTO T. N.; BRASIL D. M. E SOUZA L. B.; SOUZA M. C.; PAULETTO M. C. A. C.; MAMED J. A.; SBRAVATE-MARTINS C.

Leia mais

Enplicaw Documentation

Enplicaw Documentation Enplicaw Documentation Release 0.1.0 Carlo Oliveira June 18, 2015 Contents 1 Enplicaw - Introdução 3 2 Enplicaw - Modulos 5 3 Notas de Lançamento V. 0.1.0 7 3.1 Milestone.................................................

Leia mais

Participatory Map of Rio de Janeiro

Participatory Map of Rio de Janeiro Leandro Gomes Souza Geographer Luiz Roberto Arueira da Silva Director of City Information Pereira Passos Institute - City of Rio de Janeiro About us Pereira Passos Institute (IPP) is Rio de Janeiro municipal

Leia mais

Implementing a Data Warehouse with Microsoft SQL Server 2014 (20463)

Implementing a Data Warehouse with Microsoft SQL Server 2014 (20463) Implementing a Data Warehouse with Microsoft SQL Server 2014 (20463) Formato do curso: Presencial e Live Training Com certificação: MCSA: SQL Server Preço: 1630 Nível: Avançado Duração: 35 horas Este curso

Leia mais

Engenharia de Requisitos. Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia esa@dcc.ufba.br

Engenharia de Requisitos. Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia esa@dcc.ufba.br Engenharia de Requisitos Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia esa@dcc.ufba.br O Documento de Requisitos Introdução The requirements for a system are the descriptions

Leia mais

PCS 5869 INTELIGÊNCIA ARTIFICIAL

PCS 5869 INTELIGÊNCIA ARTIFICIAL PCS 5869 INTELIGÊNCIA ARTIFICIAL 1º Quadrimestre de 2016 Rodolfo Valiente Romero Seminário PCS-5743I Artigo http://dx.doi.org/10.1016/j.engappai.2014.08.015 A learning-based thresholding method customizable

Leia mais

Project Management Activities

Project Management Activities Id Name Duração Início Término Predecessoras 1 Project Management Activities 36 dias Sex 05/10/12 Sex 23/11/12 2 Plan the Project 36 dias Sex 05/10/12 Sex 23/11/12 3 Define the work 15 dias Sex 05/10/12

Leia mais

Software Testing with Visual Studio 2013 (20497)

Software Testing with Visual Studio 2013 (20497) Software Testing with Visual Studio 2013 (20497) Formato do curso: Presencial Preço: 800 Nível: Intermédio Duração: 12 horas Este curso, mostra a Programadores e Testers como utilizar as ferramentas do

Leia mais

Self-reported diabetes: a feasible solution for national surveys in developing countries as Brazil.

Self-reported diabetes: a feasible solution for national surveys in developing countries as Brazil. Self-reported diabetes: a feasible solution for national surveys in developing countries as Brazil. Valéria M. Azeredo Passos, Janaina Caldeira Pereira, Sandhi Maria Barreto INTRODUCTION Type 2 diabetes

Leia mais

ESTRUTURA DE CAPITAL: UMA ANÁLISE EM EMPRESAS SEGURADORAS

ESTRUTURA DE CAPITAL: UMA ANÁLISE EM EMPRESAS SEGURADORAS ESTRUTURA DE CAPITAL: UMA ANÁLISE EM EMPRESAS SEGURADORAS THE CAPITAL STRUCTURE: AN ANALYSE ON INSURANCE COMPANIES FREDERIKE MONIKA BUDINER METTE MARCO ANTÔNIO DOS SANTOS MARTINS PAULA FERNANDA BUTZEN

Leia mais

VGM. VGM information. ALIANÇA VGM WEB PORTAL USER GUIDE June 2016

VGM. VGM information. ALIANÇA VGM WEB PORTAL USER GUIDE June 2016 Overview The Aliança VGM Web portal is an application that enables you to submit VGM information directly to Aliança via our e-portal Web page. You can choose to enter VGM information directly, or to download

Leia mais

A METHOD OF STRATEGIC MANAGEMENT AND PLANNING TO OBTAIN COMPETITIVENESS IN FARMING BUSINESS

A METHOD OF STRATEGIC MANAGEMENT AND PLANNING TO OBTAIN COMPETITIVENESS IN FARMING BUSINESS A METHOD OF STRATEGIC MANAGEMENT AND PLANNING TO OBTAIN COMPETITIVENESS IN FARMING BUSINESS Mr. Frederico Fonseca Lopes MARKESTRAT ffflopes@markestrat.org Ms. Janaína Gagliardi Bara USP / FEARP / MARKESTRAT

Leia mais

Tecnologias de Informação, Inovação e Auditoria Interna

Tecnologias de Informação, Inovação e Auditoria Interna Tecnologias de Informação, Inovação e Auditoria Interna XXV CONFERÊNCIA ANUAL IPAI NOVEMBER 15 TH 2018 S U M M A R Y o K N O W L E D G E D I S C O V E R Y I N D ATA o D ATA M I N I N G o U S E R I N T

Leia mais

A tangibilidade de um serviço de manutenção de elevadores

A tangibilidade de um serviço de manutenção de elevadores A tangibilidade de um serviço de manutenção de elevadores Tese de Mestrado em Gestão Integrada de Qualidade, Ambiente e Segurança Carlos Fernando Lopes Gomes INSTITUTO SUPERIOR DE EDUCAÇÃO E CIÊNCIAS Fevereiro

Leia mais

Normalização e interoperabilidade da informação geográfica

Normalização e interoperabilidade da informação geográfica Normalização e interoperabilidade da informação geográfica perspetivas para a formação em Engenharia Geográfica João Catalão Departamento de Engenharia Geográfica, Geofísica e Energia Faculdade de Ciências

Leia mais

Silvano Nogueira Buback. Utilizando aprendizado de máquina para construção de uma ferramenta de apoio a moderação de comentários

Silvano Nogueira Buback. Utilizando aprendizado de máquina para construção de uma ferramenta de apoio a moderação de comentários Silvano Nogueira Buback Utilizando aprendizado de máquina para construção de uma ferramenta de apoio a moderação de comentários Dissertação de mestrado Dissertação apresentada como requisito parcial para

Leia mais

FEN- 06723 Processamento Digital de Imagens. Projeto 2 Utilização de máscaras laplacianas

FEN- 06723 Processamento Digital de Imagens. Projeto 2 Utilização de máscaras laplacianas FEN- 06723 Processamento Digital de Imagens Projeto 2 Utilização de máscaras laplacianas Marcelo Musci Mestrado Geomática/UERJ-2004 Abstract The Laplacian is also called as second difference function,

Leia mais

Manual de Docência para a Disciplina de Análise Matemática II

Manual de Docência para a Disciplina de Análise Matemática II Universidade Fernando Pessoa Faculdade de Ciência e Tecnologia Manual de Docência para a Disciplina de Análise Matemática II Número de horas do programa: 90 horas Número de horas semanal: 6 horas Número

Leia mais

Using Big Data to build decision support tools in

Using Big Data to build decision support tools in Using Big Data to build decision support tools in Agriculture Laboratory of Architecture Karen Langona and Computer Networks OSDC PIRE 2013 Edinburgh Workshop Climate and Agricultural Planning Agriculture

Leia mais

AN APPROACH TO ASSESS SAFETY CONSIDERING INTEGRITY OF DATA OF ADS-B BASED AERIAL SYSTEMS

AN APPROACH TO ASSESS SAFETY CONSIDERING INTEGRITY OF DATA OF ADS-B BASED AERIAL SYSTEMS AN APPROACH TO ASSESS SAFETY CONSIDERING INTEGRITY OF DATA OF ADS-B BASED AERIAL SYSTEMS SITRAER (2014) XIII Air Transportation Symposium (2014) Daniel Baraldi Sesso Lucio Flavio Vismari João Batista Camargo

Leia mais

Easy Linux! FUNAMBOL FOR IPBRICK MANUAL. IPortalMais: a «brainware» company www.iportalmais.pt. Manual

Easy Linux! FUNAMBOL FOR IPBRICK MANUAL. IPortalMais: a «brainware» company www.iportalmais.pt. Manual IPortalMais: a «brainware» company FUNAMBOL FOR IPBRICK MANUAL Easy Linux! Title: Subject: Client: Reference: Funambol Client for Mozilla Thunderbird Doc.: Jose Lopes Author: N/Ref.: Date: 2009-04-17 Rev.:

Leia mais

SPATIAL DISTRIBUITION OF TURBITY IN A STRETCH OF MADEIRA RIVER MONITORING MADEIRA RIVER PROJECT PORTO VELHO (RO)

SPATIAL DISTRIBUITION OF TURBITY IN A STRETCH OF MADEIRA RIVER MONITORING MADEIRA RIVER PROJECT PORTO VELHO (RO) SPATIAL DISTRIBUITION OF TURBITY IN A STRETCH OF MADEIRA RIVER MONITORING MADEIRA RIVER PROJECT PORTO VELHO (RO) 4th scientific meeting of the ORE-HIBAM. September 2011 4a Scientific Meeting ORE-HYBAM

Leia mais

Implementation of BE requirements: Brazilian Experience

Implementation of BE requirements: Brazilian Experience 13 th ICDRA Implementation of BE requirements: Brazilian Experience RODRIGO CRISTOFOLETTI Head of Department of Bioequivalence Brazilian National Health Surveillance Agency (ANVISA) Historical view Future

Leia mais

Information technology specialist (systems integration) Especialista em tecnologia da informação (integração de sistemas)

Information technology specialist (systems integration) Especialista em tecnologia da informação (integração de sistemas) Information technology specialist (systems integration) Especialista em tecnologia da informação (integração de sistemas) Professional activities/tasks Design and produce complex ICT systems by integrating

Leia mais

Padrões de Aplicações Empresariais

Padrões de Aplicações Empresariais Padrões de Aplicações Empresariais Paulo Sousa Engenharia da Informação Instituto Superior de Engenharia do Porto Introdução aos Padrões Parte 1 O que é um Pattern? Each pattern describes a problem that

Leia mais

Thiago Rezende Pinto. Aplicação de Modelos Não Lineares em Negociação Automática no Mercado Acionário Brasileiro DISSERTAÇÃO DE MESTRADO

Thiago Rezende Pinto. Aplicação de Modelos Não Lineares em Negociação Automática no Mercado Acionário Brasileiro DISSERTAÇÃO DE MESTRADO Thiago Rezende Pinto Aplicação de Modelos Não Lineares em Negociação Automática no Mercado Acionário Brasileiro DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE ENGENHARIA ELÉTRICA Programa de Pósgraduação em Engenharia

Leia mais

MASTER S DEGREE IN INTELLECTUAL PROPERTY ADMISSION EXAM

MASTER S DEGREE IN INTELLECTUAL PROPERTY ADMISSION EXAM CADERNO DE QUESTÕES NOTA FINAL MASTER S DEGREE IN INTELLECTUAL PROPERTY ADMISSION EXAM Before reading the text, pay attention to these important and essential remarks. All the answers must be written in

Leia mais

01-A GRAMMAR / VERB CLASSIFICATION / VERB FORMS

01-A GRAMMAR / VERB CLASSIFICATION / VERB FORMS 01-A GRAMMAR / VERB CLASSIFICATION / VERB FORMS OBS1: Adaptação didática (TRADUÇÃO PARA PORTUGUÊS) realizada pelo Prof. Dr. Alexandre Rosa dos Santos. OBS2: Textos extraídos do site: http://www.englishclub.com

Leia mais

Informática e Programação. Computer Science and Programming. Semestre do plano de estudos 1

Informática e Programação. Computer Science and Programming. Semestre do plano de estudos 1 Nome UC Informática e Programação CU Name Código UC 4 Curso LEC Semestre do plano de estudos 1 Área científica Informática Duração Semestral Horas de trabalho 135 ECTS 5 Horas de contacto TP - 67,5 Observações

Leia mais

SIMULATION OF FLOW AROUND FLOATING STRUCTURES: SHIPS AND PLATFORMS

SIMULATION OF FLOW AROUND FLOATING STRUCTURES: SHIPS AND PLATFORMS 2013 CAE NAVAL & OFFSHORE Windsor Guanabara, Rio de Janeiro/RJ Brasil 13 de Junho de 2013 SIMULATION OF FLOW AROUND FLOATING STRUCTURES: SHIPS AND PLATFORMS Alexandre T. P. Alho Laboratório de Sistemas

Leia mais

Normas Gráficas do Símbolo e Logótipo aicep Portugal Global aicep Portugal Global Symbol and Logo Graphic Guidelines Capítulo 1 Chapter 1

Normas Gráficas do Símbolo e Logótipo aicep Portugal Global aicep Portugal Global Symbol and Logo Graphic Guidelines Capítulo 1 Chapter 1 Normas Gráficas do Símbolo e Logótipo aicep Portugal Global aicep Portugal Global Symbol and Logo Graphic Guidelines Capítulo 1 Chapter 1 Introdução Introduction Normas Gráficas Este manual fornece os

Leia mais

CIS 500 Software Foundations Fall September(continued) IS 500, 8 September(continued) 1

CIS 500 Software Foundations Fall September(continued) IS 500, 8 September(continued) 1 CIS 500 Software Foundations Fall 2003 8 September(continued) IS 500, 8 September(continued) 1 Polymorphism This version of issaidtobepolymorphic,becauseitcanbeapplied to many different types of arguments.

Leia mais

SISTEMAS DISTRIBUÍDOS 1º EXAME

SISTEMAS DISTRIBUÍDOS 1º EXAME SISTEMAS DISTRIBUÍDOS 1º EXAME Ano Lectivo: 2005/2006 Data: 12 de Junho de 2006 Ano Curricular: 4º Ano 2º Semestre Duração: 2h00 INFORMAÇÕES GERAIS 1. O exame encontra-se em Inglês devido à existência

Leia mais

Inflation Expectations and Behavior: Do Survey Respondents Act on their Beliefs? O. Armantier, W. Bruine de Bruin, G. Topa W. VanderKlaauw, B.

Inflation Expectations and Behavior: Do Survey Respondents Act on their Beliefs? O. Armantier, W. Bruine de Bruin, G. Topa W. VanderKlaauw, B. Inflation Expectations and Behavior: Do Survey Respondents Act on their Beliefs? O. Armantier, W. Bruine de Bruin, G. Topa W. VanderKlaauw, B. Zafar November 18, 2010 Introduction Inflation expectations

Leia mais

Cutting Behavior and Process Monitoring During Grinding of Ceramics Using CVD-Tools - GRINDADVCER -

Cutting Behavior and Process Monitoring During Grinding of Ceramics Using CVD-Tools - GRINDADVCER - Cutting Behavior and Process Monitoring During Grinding of Ceramics Using CVD-Tools - GRINDADVCER - Prof. Dr. Eng. Rodrigo Lima Stoeterau Structure Objectives Working team Working projects development

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

School Performance Evaluation in Portugal: A Data Warehouse Implementation to Automate Information Analysis

School Performance Evaluation in Portugal: A Data Warehouse Implementation to Automate Information Analysis School Performance Evaluation in Portugal: A Data Warehouse Implementation to Automate Information Analysis DSIE 11 Doctoral Symposium in Informatics Engineering Rui Alberto Castro ProDEI Edição 2010/2011

Leia mais

JOSÉ RICARDO SANCHEZ FILHO ANALYSIS OF THE LONG-TERM EFFECTS OF THE VOLUNTARY OFFER OF THE BID RULE ON STOCKS LISTED IN THE BRAZILIAN STOCK EXCHANGE

JOSÉ RICARDO SANCHEZ FILHO ANALYSIS OF THE LONG-TERM EFFECTS OF THE VOLUNTARY OFFER OF THE BID RULE ON STOCKS LISTED IN THE BRAZILIAN STOCK EXCHANGE UNIVERSIDADE FEDERAL DO RIO DE JANEIRO INSTITUTO COPPEAD DE ADMINISTRAÇÃO JOSÉ RICARDO SANCHEZ FILHO ANALYSIS OF THE LONG-TERM EFFECTS OF THE VOLUNTARY OFFER OF THE BID RULE ON STOCKS LISTED IN THE BRAZILIAN

Leia mais

Developing Microsoft SQL Server 2014 Databases (20464)

Developing Microsoft SQL Server 2014 Databases (20464) Developing Microsoft SQL Server 2014 Databases (20464) Formato do curso: Presencial Localidade: Porto Com certificação: MCSE: Data Platform Data: 25 Set. 2017 a 29 Set. 2017 Preço: 1550 Horário: Laboral

Leia mais

// gaiato private label

// gaiato private label // gaiato private label // a empresa // the company A Calçado Gaiato é uma empresa prestadora de serviços no setor de calçado, criada em 2000 por Luís Pinto Oliveira e Mário Pinto Oliveira, sócios-fundadores

Leia mais

COMITÊ DO ESPECTRO PARA RADIODIFUSÃO - CER SPECTRUM DAY 16.08.2011 A REVISÃO DA REGULAMENTAÇÃO DO USO DA FAIXA DE 3,5 GHZ UMA NECESSIDADE COMPROVADA.

COMITÊ DO ESPECTRO PARA RADIODIFUSÃO - CER SPECTRUM DAY 16.08.2011 A REVISÃO DA REGULAMENTAÇÃO DO USO DA FAIXA DE 3,5 GHZ UMA NECESSIDADE COMPROVADA. COMITÊ DO ESPECTRO PARA RADIODIFUSÃO - CER SPECTRUM DAY 16.08.2011 A REVISÃO DA REGULAMENTAÇÃO DO USO DA FAIXA DE 3,5 GHZ UMA NECESSIDADE COMPROVADA. PAULO RICARDO H. BALDUINO 0 Conteúdo 1. Introdução

Leia mais

Intellectual Property. IFAC Formatting Guidelines. Translated Handbooks

Intellectual Property. IFAC Formatting Guidelines. Translated Handbooks Intellectual Property IFAC Formatting Guidelines Translated Handbooks AUTHORIZED TRANSLATIONS OF HANDBOOKS PUBLISHED BY IFAC Formatting Guidelines for Use of Trademarks/Logos and Related Acknowledgements

Leia mais

MIT Portugal Program Engineering systems in action

MIT Portugal Program Engineering systems in action MIT Portugal Program Engineering systems in action Paulo Ferrão, MPP Director in Portugal Engineering Systems: Achievements and Challenges MIT, June 15-17, 2009 Our knowledge-creation model An Engineering

Leia mais

Writing Good Software Engineering Research Papers

Writing Good Software Engineering Research Papers Writing Good Software Engineering Research Papers Mary Shaw Proceedings of the 25th International Conference on Software Engineering, IEEE Computer Society, 2003, pp. 726-736. Agenda Introdução Questões

Leia mais

Curso CP100A - Google Cloud Platform Fundamentals (8h)

Curso CP100A - Google Cloud Platform Fundamentals (8h) Curso CP100A - Google Cloud Platform Fundamentals (8h) Este curso virtual liderado por um instrutor, com 8 horas de duração, introduz os participantes aos produtos e serviços do Google Cloud Platform.

Leia mais

Aqui pode escolher o Sistema operativo, e o software. Para falar, faça download do Cliente 2.

Aqui pode escolher o Sistema operativo, e o software. Para falar, faça download do Cliente 2. TeamSpeak PORTUGUES ENGLISH Tutorial de registo num servidor de TeamSpeak Registration tutorial for a TeamSpeak server Feito por [WB ].::B*A*C*O::. membro de [WB ] War*Brothers - Non Dvcor Dvco Made by:

Leia mais

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA total e disjuntiva.

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA total e disjuntiva. Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA total e disjuntiva. A possible solution to ensure, in APEX environment, the consistency of a total and disjunctive

Leia mais

Vendors Enquiries for RFP 003/2015

Vendors Enquiries for RFP 003/2015 Date: 22/10/2015 Vendors Enquiries for RFP 003/2015 1) Question I am afraid the terms of the RFP cannot be complied by none of the companies we work with, the terms have limited the underwriters ability

Leia mais

Computação Móvel J2ME

Computação Móvel J2ME Computação Móvel J2ME Java 2 Platform (1) Java 2 Standard Edition (J2SE) Desktop applications Java 2 Enterprise Edition (J2EE) Server applications Java 2 Micro Edition (J2ME) Handheld/embedded devices

Leia mais

IS CLIMATE INDUCING DENGUE? Flávio Justino, 1 Hudson Campos 2

IS CLIMATE INDUCING DENGUE? Flávio Justino, 1 Hudson Campos 2 IS CLIMATE INDUCING DENGUE? Flávio Justino, 1 Hudson Campos 2 1 UFV-Brazil Minas Gerais fjustino@ufv.br 2 IFMG-Banbuí Minas Gerais RESUMO: O entendimento das relações entre variáveis meteorológicas e a

Leia mais

Mathematical Foundation I: Fourier Transform, Bandwidth, and Band-pass Signal Representation PROF. MICHAEL TSAI 2011/10/13

Mathematical Foundation I: Fourier Transform, Bandwidth, and Band-pass Signal Representation PROF. MICHAEL TSAI 2011/10/13 Mathematical Foundation I: Fourier Transform, Bandwidth, and Band-pass Signal Representation PROF. MICHAEL TSAI 2011/10/13 Fourier Transform (): a non-periodic deterministic signal. Definition: the Fourier

Leia mais