Repositório RCAAP
Toward harnessing a Java high-level language virtual machine for supporting software testing
High-level language virtual machines (HLL VMs) have been playing a key role as a mechanism for implementing programming languages. Languages that run on these execution environments have many advantages over languages that are compiled to native code. These advantages have led HLL VMs to gain broad acceptance in both academy and industry. However, much of the research in this area has been devoted to boosting the performance of these execution environments. Few eorts have attempted to introduce features that automate or facilitate some software engineering activities, including software testing. This research argues that HLL VMs provide a reasonable basis for building an integrated software testing environment. To this end, two software testing features that build on the characteristics of a Java virtual machine (JVM) were devised. The purpose of the rst feature is to automate weak mutation. Augmented with mutation support, the chosen JVM achieved speedups of as much as 95% in comparison to a strong mutation tool. To support the testing of concurrent programs, the second feature is concerned with enabling the deterministic re-execution of Java programs and exploration of new scheduling sequences
2013
Vinicius Humberto Serapilha Durelli
Desenvolvimento de técnicas de anycast na camada de aplicação para a provisão de qualidade de serviço em computação na nuvem
Nos últimos anos, houve um aumento da complexidade e variedade de serviços disponíveis na Internet, fato que tem levado à busca por técnicas eficientes de roteamento de requisições de um cliente ao melhor servidor disponível, sendo uma delas conhecida como application layer anycast (ALA). O objetivo deste mestrado é elaborar meios eficientes de prover anycast na camada de aplicação com qualidade de serviço no contexto de computação em nuvem. Para atingir esse objetivo, um novo sistema foi proposto (GALA, Global Application Layer Anycast). Ele herda características de um outro sistema existente e emprega a geolocalização como diferencial, a fim de melhorar o desempenho geral do algoritmo. Experimentos foram realizados por meio de simulação e os resultados mostraram que esse novo sistema, comparado ao algoritmo herdado, mantém a eficiência das requisições realizadas pelos clientes e diminui consideravelmente o tempo de latência dessas operações. Ainda, o sistema proposto foi desenvolvido em um ambiente real a fim de fortalecer os resultados das simulações. Com os resultados obtidos, o sistema modelado foi validado e sua eficácia confirmada.
Técnicas para o problema de dados desbalanceados em classificação hierárquica
Os recentes avanços da ciência e tecnologia viabilizaram o crescimento de dados em quantidade e disponibilidade. Junto com essa explosão de informações geradas, surge a necessidade de analisar dados para descobrir conhecimento novo e útil. Desse modo, áreas que visam extrair conhecimento e informações úteis de grandes conjuntos de dados se tornaram grandes oportunidades para o avanço de pesquisas, tal como o Aprendizado de Máquina (AM) e a Mineração de Dados (MD). Porém, existem algumas limitações que podem prejudicar a acurácia de alguns algoritmos tradicionais dessas áreas, por exemplo o desbalanceamento das amostras das classes de um conjunto de dados. Para mitigar tal problema, algumas alternativas têm sido alvos de pesquisas nos últimos anos, tal como o desenvolvimento de técnicas para o balanceamento artificial de dados, a modificação dos algoritmos e propostas de abordagens para dados desbalanceados. Uma área pouco explorada sob a visão do desbalanceamento de dados são os problemas de classificação hierárquica, em que as classes são organizadas em hierarquias, normalmente na forma de árvore ou DAG (Direct Acyclic Graph). O objetivo deste trabalho foi investigar as limitações e maneiras de minimizar os efeitos de dados desbalanceados em problemas de classificação hierárquica. Os experimentos realizados mostram que é necessário levar em consideração as características das classes hierárquicas para a aplicação (ou não) de técnicas para tratar problemas dados desbalanceados em classificação hierárquica.
O problema de minimização de trocas de ferramentas
Especialmente nas últimas quatro décadas, muitos estudos se voltaram às variáveis determinantes para a implementação efetiva de sistemas flexíveis de manufatura, tais como seu design, sequenciamento e controle. Neste ínterim, o manejo apropriado do conjunto de ferramentas necessárias para a fabricação de um respectivo lote de produtos foi destacado como fator crucial no desempenho do sistema de produção como um todo. Neste trabalho, abordamos a otimização do número de inserções e remoções de ferramentas no magazine de uma ou mais máquinas numericamente controladas, admitindo-se que uma parcela significativa do tempo de produção é dispensada com estas trocas de ferramentas. De forma mais precisa, a minimização do número de trocas de ferramentas consiste em determinar a ordem de processamento de um conjunto de tarefas, bem como o carregamento ótimo do(s) compartimento(s) de ferramentas da(s) máquina(s), a fim de que o número de trocas seja minimizado. Como demostrado na literatura, mesmo o caso restrito à existência de apenas uma máquina de manufatura (MTSP, do inglês Minimization of Tool Switches Problem) é um problema NP-difícil, o que pode justificar o fato observado de que a maioria dos métodos de solução existentes o abordam de maneira heurística. Consequentemente, concluímos que a extensão ao contexto de múltiplas máquinas é também um problema NP-difícil, intrinsecamente complicado de se resolver. Nosso objetivo consiste em estudar formas eficientes de otimizar o número de trocas de ferramentas em ambientes equipados com máquinas flexíveis de manufatura. Para tanto, abordamos o problema básico, MTSP, e duas de suas variantes, em níveis crescentes de abrangência, que consideram o sequenciamento de tarefas em um conjunto de: (i) máquinas paralelas e idênticas (IPMTC, do inglês Identical Parallel Machines problem with Tooling Constraints); e (ii) máquinas paralelas e idênticas inseridas em um ambiente do tipo job shop (JSSPTC, do inglês Job Shop Scheduling Problem with Tooling Constraints). Classificamos as principais contribuições desta tese com respeito a três aspectos. Primeiramente, empurramos as fronteiras da literatura do MTSP propondo formulações matemáticas para os problemas IPMTC e JSSPTC. Desenvolvemos, também, algoritmos baseados em diferentes técnicas de resolução, como redução de domínio, Path relinking, Adaptive large neighborhood search e a elaboração de regras de despacho. Por último, com o intuito de bem avaliar a eficiência e o alcance de nossos métodos, propomos três novos conjuntos de instâncias teste. Acreditamos, assim, que este trabalho contribui positivamente com pesquisas futuras em um cenário abrangente dentro da minimização das trocas de ferramentas em um sistema flexível de manufatura.
2016
Andreza Cristina Beezão Moreira
A Software Architecture Proposal for Autonomous Vehicles
Autonomous Vehicles should transform the urban transport scenario, increasing its efficiency, making it more accessible and safe, reducing environmental impact, among other benefits. To do so, they are composed of a set of hardware and algorithms, which allow them to understand the external environment, their own state and interact with other traffic agents. In turn, these components need to collaborate with each other to ensure the full operation of the vehicle, which makes its architectural design an essential step for the project and development. The software architecture presents the structure and organization of the components, enabling evaluations and making decisions prior to implementation. Another important aspect is that such systems are subject to faults that can affect the whole performance of the vehicle, therefore, it is essential to detect and diagnose them. In this way, the objective of this work is to develop a new architecture for the CaRINA 2, the autonomous vehicle of the University of São Paulo, adding new functionalities developed by the research group and focusing mainly on safety requirements, which consists of detecting and diagnosing faults. In addition, new map structure and a new method for behavior and maneuver development were also included to the architecture.
Classification of pseudo-random number generators by complex networks and computational geometry analysis
Randomness has stimulated mankinds attention and imagination ever since we began to observe the behavior of nature. It was by understanding the randomness and patterns that humans learned to control crops, for example, which led to the creation of the first communities. In the modern world, with the aim of mimicking the randomness of natural phenomena, computers are used to generate sequences that look as random as possible running pseudo-random number generators (PRNG). PRNGs have diverse applications in information security, digital games, simulations, modeling, gambling, arts, among others. Despite this fact, existing methods of randomness measure do not offer a definitive solution to the need of classifying PRNGs. The main methods of randomness measurement consist of statistical tests through which the sequences generated by the algorithms are analyzed. Once PRNGs are analyzed by these test suits, they are considered (un)satisfactory random. This paper explores an aspect that has been neglected in statistical tests: the spatial distribution of pseudo-random sequences. It is conjectured that this distribution is the source of undisclosed patterns in test suites. One way to study this arrangement more depth is using models that explore the relation of values and iterations. The relation of elements in space has to be the basis of the paradigm. This work applies theory of graphs and computational geometry methods to find patterns in pseudo-random sequences. The analyzed sequences are plotted in a Cartesian plan generating a set of points that are converted into graphs considering the Euclidean distance between the points within a radius. The best combination of descriptors formed by measurements of graphs and geometric properties is selected. When patterns emerge, one can point out flaws in the widely used methods for measuring PRNGs quality. It is intended to suggest a complementary approach for the evaluation of PRNGs, contributing to a better classification of the PRNGs and, consequently, to cause improvements in the studies on information security. This includes identifying patterns in sequences generated by algorithms that are considered pseudo-random by current statistical tests and thus identifying the limitations of these assessments.
Multilevel method in bipartite networks
Bipartite networks comprise a particular class of network models in which the vertex set is split into two disjoint and independent subsets, with edges connecting only vertices placed in different subsets. They provide a powerful representation of the relationships in many realworld systems and have been widely employed to model data-intensive problems. In a related scenario, multilevel methods have been previously applied to handle computationally expensive optimization problems defined in networks. The strategy aims at reducing the cost of executing an expensive algorithm or task by exploiting a hierarchy of coarsened versions of the original network. There is a growing interest in multilevel methods in networked systems, motivated mostly by their capability of handling large-scale networks and applicability to a variety of problems, most notably community detection and network drawing. Despite their potential, existing approaches are not directly applicable to bipartite networks and, to the best of our knowledge, the multilevel strategy had not been considered in this context so far, opening a vast space for scientific exploration. This gap motivated this research project, which introduces a study on multilevel methods applicable to bipartite networks. In order to overcome the aforementioned limitations, this thesis presents two novel multilevel frameworks for handling bipartite structures, named OPM and MOb. OPM analyzes the bipartite network based on its one-mode projections, allowing the reuse of classical and already established solutions from the literature. MOb (and its Mdr, CSV and CSL variations) operate directly on the bipartite representation to execute the multilevel method, providing a cost-effective implementation. Empirical results obtained on a set of synthetic and real-world networks on diverse applications indicate a considerable speed up with no significant loss in the quality of the solutions obtained in the coarsened networks as compared to those obtained in the original network (i.e., conventional approaches). The potential applicability and reliability of the proposed methods have been illustrated in multiple scenarios, namely optimization, community detection, dimensionality reduction and visualization. Furthermore, the results provide empirical evidence that the proposed methods can foster novel applications of the multilevel method in bipartite networks, e.g. link prediction and trajectory mining and, therefore, that this thesis brings a relevant contribution to the field.
2019
Alan Demetrius Baria Valejo
An approach for assessing the quality of crowdsourced geographic information in the flood management domain
Crowdsourced Geographic Information (CGI) encompasses both active/conscious and passive/ unconscious georeferenced information generated by non-experts. The use of CGI in the domain of flood management is considerably recent and has been motivated by its potential as source of geographic information in situations where authoritative data is scarce or unavailable. Given that citizens may vary greatly in knowledge and expertise, the quality of such information is a key concern when making use of CGI. Moreover, the usability of the crowdsourcing platforms is another critical point that impacts the quality of CGI, since increasing complexity of such systems can lead to the provision of erroneous or inaccurate information. Although usability aspects have been increasingly discussed among designers and developers of computerized systems, there is a lack of studies that investigate strategies for the enhancement of the usability of crowdsourcing platforms. In this perspective, the assessment of CGI quality is an important step to determine if the information fits a specific purpose. A common way of assessing the quality of CGI gathered by crowdsourcing platforms is the evaluation of each CGI item. However, in crisis situations, there is short time to scrutinize a great amount of data and, therefore, minimizing information overload is critically important. An interesting, but poorly explored, strategy is the assessment of the quality of aggregated CGI elements, instead of a single one. This doctoral thesis proposes an approach for the improvement and assessment of CGI quality in the domain of flood management. It describes a taxonomy of methods for the assessment of CGI quality in the absence of authoritative data, as well as proposes a method for evaluating the quality of CGI and a new interface for the Citizen Observatory of Floods. Results obtained in the evaluation of the main contributions reveal that the method can explain the quality of CGI and the usability of the new interface increased.
Subsídios para o estabelecimento de estratégias de teste baseadas na técnica de mutação.
Para sistematizar os testes e contornar as restrições de tempo e custo associadas à atividade de teste, diversas técnicas, critérios e ferramentas têm sido desenvolvidas. Além disso, visando ao estabelecimento de uma estratégia de teste incremental, que apresente baixo custo de aplicação e alta eficácia em revelar a presença de erros, estudos teóricos e empíricos vêm sendo conduzidos pela comunidade de teste. O presente trabalho está inserido nesse contexto e tem como objetivo a realização de estudos empíricos para comparar a adequação entre os critérios baseados em erros - Análise de Mutantes (teste de unidade) e Mutação de Interface (teste de integração) - visando ao estabelecimento de estratégias de teste de baixo custo e eficazes, que englobem todo o ciclo de desenvolvimento de software. Nessa perspectiva, algumas estratégias incrementais de aplicação dos operadores de mutação de unidade e de integração são definidas, explorando o aspecto complementar dos critérios baseados em mutação, reduzindo com isso os custos da atividade de teste durante as fases do teste de unidade e de integração, sem comprometer sua qualidade. Ainda, um conjunto essencial de operadores de mutação para o critério Mutação de Interface é apresentado.
1998
Auri Marcelo Rizzo Vincenzi
OntoSoft: um processo de desenvolvimento ágil para software baseado em ontologia
A formalização e o compartilhamento do conhecimento tem incentivado cada vez mais o uso de ontologias em diversas áreas da computação. Na Engenharia de Software, por exemplo, elas são usadas em diferentes fases do ciclo de vida do software. Especificamente no desenvolvimento de software a ontologia pode ser considerada como um artefato de software que atua na formalização do conhecimento e requisitos, na geração automática de código, na integração contínua e na transformação de dados em conhecimento. No entanto, poucos estudos abordam esses fatores de maneira sistematizada na construção do software baseado em ontologia, ao associar os conceitos da Engenharia de Software à Engenharia de Ontologias. Além disso, as abordagens atuais não inserem princípios ágeis em suas definições. Portanto, este trabalho tem por objetivo definir um processo de desenvolvimento considerando os princípios e valores ágeis para o desenvolvimento de software baseado em ontologia. No processo, denominado OntoSoft, fases, atividades, tarefas, papeis e modelos de artefatos foram definidos de maneira detalhada para guiar as equipes de desenvolvimento. Ademais, foram especificados três cenários de desenvolvimento considerando a complexidade do software a ser desenvolvido, a fim de evidenciar possibilidades distintas na sequência das atividades durante o fluxo de desenvolvimento do software baseado em ontologia. Com base nos estudos de caso conduzidos em diferentes cenários de desenvolvimento, os resultados sugerem que o processo OntoSoft contribui positivamente na produção dos artefatos do software baseado em ontologia, colaborando para a efetividade e produtividade da equipe.
2017
Joice Basilio Machado Marques
Simulação numérica de escoamentos tridimensionais com superfícies livres governados pelo modelo Giesekus
Este trabalho tem como objetivo o desenvolvimento de um método numérico para simular escoamentos viscoelásticos tridimensionais com superfícies livres governados pelo modelo constitutivo Giesekus. As equações governantes são resolvidas pelo método de diferenças finitas numa malha deslocada. A superfície livre do fluido é modelada por partículas marcadoras, possibilitando assim a visualização e localização da superfície livre do fluido. A equação constitutiva de Giesekus é resolvida utilizando as seguintes formulações: método de Runge-Kutta de segunda ordem (também conhecido como método de Euler modificado) e transformação logarítmica do tensor conformação. O método numérico apresentado é verificado comparando-se os resultados obtidos por meio de refinamento de malha para os escoamentos em um tubo e de um jato incidindo em uma placa plana. Resultados de convergência foram obtidos por meio de refinamento de malha do escoamento totalmente desenvolvido em um tubo. Os resultados numéricos obtidos incluem a simulação de um jato incidindo em uma caixa vazia e a simulação do inchamento do extrudado (dieswell) para vários números de Weissenberg utilizando diferentes valores do fator de mobilidade do fluido. Resultados adicionais incluem simulações do fenômeno delayed dieswell para altos números de Weissenberg e altos valores do número de Reynolds. Uma comparação qualitativa com resultados experimentais é apresentada.
Synthesis of software architectures for systems-of-systems: an automated method by constraint solving
Systems-of-Systems (SoS) encompass diverse and independent systems that must cooperate with each other for performing a combined action that is greater than their individual capabilities. In parallel, architecture descriptions, which are the main artifact expressing software architectures, play an important role in fostering interoperability among constituents by facilitating the communication among stakeholders and supporting the inspection and analysis of the SoS from an early stage of its life cycle. The main problem addressed in this thesis is the lack of adequate architectural descriptions for SoS that are often built without an adequate care to their software architecture. Since constituent systems are, in general, not known at design-time due to the evolving nature of SoS, the architecture description must specify at design-time which coalitions among constituent systems are feasible at run-time. Moreover, as many SoS are being developed for safety-critical domains, additional measures must be placed to ensure the correctness and completeness of architecture descriptions. To address this problem, this doctoral project employs SoSADL, a formal language tailored for the description of SoS that enables one to express software architectures as dynamic associations between independent constituent systems whose interactions are mediated for accomplishing a combined action. To synthesize concrete architectures that adhere to one such description, this thesis develops a formal method, named Ark, that systematizes the steps for producing such artifacts. The method creates an intermediate formal model, named TASoS, which expresses the SoS architecture in terms of a constraint satisfaction problem that can be automatically analyzed for an initial set of properties. The feedback obtained in this analysis can be used for subsequent refinements or revisions of the architecture description. A software tool named SoSy was also developed to support the Ark method as it automates the generation of intermediate models and concrete architectures, thus concealing the use of constraint solvers during SoS design and development. The method and its accompanying tool were applied to model a SoS for urban river monitoring in which the feasibility of candidate abstract architectures is investigated. By formalizing and automating the required steps for SoS architectural synthesis, Ark contributes for adopting formal methods in the design of SoS architectures, which is a necessary step for obtaining higher reliability levels.
2017
Milena Guessi Margarido
Classificação de imagens de fluorescência do citoesqueleto através de técnicas em processamento de imagens
O citoesqueleto é a estrutura celular mais importante em células eucariotas e é responsável por manter a forma da célula e as junções celulares, auxiliando nos movimentos celulares. Esta é composta de filamentos de Actina, Microtúbulos e filamentos intermediários. Recentemente, a análise de duas dessas estruturas tornaram-se importantes, pois é possível obter micrografias usando microscópios de alta resolução, que contém microscopia de fluorescência, em combinação com métodos complexos de aplicação de substâncias de contraste para rotulagem e posterior análises visuais. A combinação dessas técnicas, entretanto, limita-se a ser descritiva e subjetiva. Neste trabalho, são avaliadas cinco técnicas de análise de imagens, as quais são: Bag of Visual Words (BoVW), Local Binary Local (LBP), Textons baseados em Discrete Fourier Transform (TDFT), Textons baseados em Gabor Filter Banks (TGFB) e Textons baseados em Complex Networks (TCN) sobre o conjunto de dados 2D Hela e FDIG Olympus. Experimentos extensivos foram conduzidos em ambos os conjuntos de dados, e seus resultados podem servir de base para futuras pesquisas como análises do citoesqueleto em imagens de microscopia fluorescente. Neste trabalho, é apresentada uma comparação quantitativa e qualitativa dos métodos acima mencionados para entender o comportamento desses métodos e propriedades dos microfilamentos de actina (MA) e Microtúbulos (MT) em ambos os conjuntos de dados. Os resultados obtidos evidenciam que é possível classificar o conjunto de dados da FDIG Olympus com uma precisão de até 90:07% e 98:94% para 2D Hela, além de obter 86:05% e 96:84%, respectivamente, de precisão, usando teoria de redes complexas.
2017
Filomen Incahuanaco Quispe
Caracterização do perfil de utilização de recursos de programas a partir de arquivos executáveis utilizando mineração de dados
Este trabalho apresenta uma metodologia para caracterização do perfil de consumo de recursos demandados por um programa de computador a partir da análise do código binário do arquivo executável. A categorização de processos de acordo com seus perfis de consumo de recursos durante a execuçãotais como uso de CPU e memóriaé uma informação muito desejada para objetivos de projeto e gerenciamento de sistemas. Técnicas convencionais para este propósito são baseadas em testes de caixa branca (que avaliam o código fonte da aplicação), que tendem a ser de difícil aplicação dado a complexidade das arquiteturas de software além da necessidade de acesso ao código fonte; ou detecção de perfis baseada em dados de execução, que depende da disponibilidade de dados de execução confiáveis e da seleção de características que de fato vão correlacionar o perfil de consumo. A abordagem baseada em mineração de dados proposta neste trabalho evita estas dificuldades uma vez que manipula somente os arquivos binários executáveis. O método combina técnicas provindas da teoria da informação, redes complexas e filogenia para produzir um agrupamento hierárquico de um conjunto de arquivos de programas executáveis que pode ser utilizado para prever potenciais similaridades em termos de consumo de recursos em tempo de execução. As questões de pesquisa deste trabalho investigam se a transformação feita pelo compilador preserva similaridades entre código fonte e binário que podem ser detectadas através de algoritmos de compressão; em caso positivo, verificar se as similaridades encontradas no código binário estão relacionadas com o perfil de execução das aplicações, permitindo inferir o comportamento dos programas a partir da análise do código binário. Este trabalho apresenta a sistematização do método assim como os resultados da aplicação para caracterizar aplicações em termos de consumo de CPU e Entrada/Saída em uma plataforma PC padrão. Diversos experimentos foram executados em um repositório de 80 programas de várias fontes obtendo-se resultados significativos que evidenciam que a similaridade dos perfis de execução obtidas com esta abordagem é consistente com as obtidas experimentalmente por aferição. A aplicação do método também é exemplificado através de casos de estudo que caracterizam o perfil de execução de programas executáveis.
Jogos educacionais: uma contribuição para o ensino de teste de software
O teste de software é considerado uma importante atividade na garantia da qualidade de produtos de software. No entanto, há uma carência de profissionais qualificados nessa área. Isso pode ser ocasionado pela dificuldade de ensinar teste de software por meio de abordagens que utilizem apenas aulas teóricas e ferramentas de teste tradicionais. Além disso, há uma desmotivação decorrente do ambiente de trabalho e das estratégias de alocação e responsabilidade desses profissionais nas equipes de desenvolvimento e teste. Para amenizar esses problemas, têm sido utilizado outras abordagens de apoio ao ensino de teste de software, tais como: jogos educacionais, ensino de teste com programação, módulos educacionais, entre outras. O objetivo deste projeto de mestrado foi desenvolver um jogo educacional, denominado Testing Game, para auxiliar o ensino de teste de software, especificamente: teste funcional, teste estrutural e teste de mutação. Para auxiliar o desenvolvimento do Testing Game, foi realizado um mapeamento sistemático para selecionar um motor de jogos. Na primeira versão do jogo foi utilizado o motor de jogos Cocos2D e na segunda versão foi utilizado o Construct 2. Para avaliar a eficiência do Testing Game, realizou-se um estudo de viabilidade com o intuito de avaliar a qualidade com relação à motivação, experiência do usuário e aprendizagem sob o ponto de vista dos estudantes. Além disso, avaliou-se a usabilidade do Testing Game. Aproximadamente 85,64% das pessoas que participaram do estudo avaliaram a qualidade do jogo de forma positiva com relação à motivação, experiência do usuário e aprendizagem sob o ponto de vista dos estudantes. Quanto à usabilidade do jogo, foram identificados poucos problemas, o que possibilita a liberação do jogo. Por meio deste trabalho, percebeu-se que o jogo Testing Game poderia ser utilizado como um recurso complementar de apoio ao ensino de teste de software, e sua efetividade ser avaliada.
2016
Pedro Henrique Dias Valle
Utilizando o IPv6 em uma Aplicação de Transmissão Segura de Dados
O Protocolo Internet (IP), base de toda arquitetura da Internet, está envelhecendo. Projetado numa época onde comércio eletrônico, computadores pessoais, mobilidade e segurança eram ficção científica, o 112 está se tornando incapaz de suportar os próximos passos da Revolução da Informação. Em resposta a esse espantoso crescimento da Internet e à necessidade das aplicações que vão ser executadas na rede no próximo milênio, desenvolveu-se uma nova versão do protocolo 112. O IPv6, a versão 6 do Protocolo Internet, oferece um enorme espaço de endereçamento, melhorias de segurança, suporte à mobilidade e diversas outras características que, juntas, vão possibilitar a verdadeira interconexão global. Este trabalho descreve a implementação de uma Aplicação de Transmissão Segura de Dados que utiliza tecnologia de smart cards para armazenar chaves criptográficas, e a integração desta tecnologia com o IPSec, um protocolo de segurança embutido no IPv6.
1999
Daniel Ferreira Nunes de Oliveira
Otimização de Redes Neurais RBF Usando Algoritmos Genéticos e sua Aplicação na Área Financeira\"
A escolha da topologia de uma Rede Neural RBF é geralmente realizada por tentativa e erro baseado na experiência do projetista. Os algoritmos de treinamento existentes que determinam a topologia da rede utilizam métodos locais, que apresentam uma grande possibilidade de cair em mínimos locais gerando soluções sub-ótimas. Algoritmos Genéticos representam um método de busca global apropriado para encontrar boas soluções em espaços de busca complexos, como o espaço de busca das topologias das Redes Neurais. Este trabalho propõe um Algoritmo Genético para otimizar a topologia de redes RBF limitando o espaço de busca através de uma técnica de aglomeração. Os resultados obtidos sugerem que esta otimização melhora o desempenho de redes RBF em aplicações financeiras.
1999
Estéfane George Macedo de Lacerda
Implementação do Algoritmo Paralelo para o Problema de Roteamento de Dados no Computador Paralelo IBM-SP2
Nesta dissertação apresentamos e implementamos um método de relaxamento para resolver o problema de roteamento de dados em redes de comutação. Este problema pode ser formulado como um problema de multifluxo, a critério convexo. O algoritmo apresentado resolve iterativamente o problema de multifluxo, decompondo-o da forma mais independente possível em subproblemas de simples fluxo. Esta independência entre os cálculos permite que a resolução dos subproblemas seja simultânea; isto nos permitiu a implementação em paralelo. Os resultados do algoritmo paralelo foram usados para estabelecer uma comparação com o algoritmo seqüencial e assim analisar o speedup. A biblioteca paralela utilizada foi o PVM.
Sistema de Navegação para Robôs Móveis Baseado em Mapas Cognitivos
Dentro da área da Robótica, Robôs Móveis têm recebido crescente atenção. Robôs móveis se propõem a realizar uma variedade de tarefas mais complexas que seus antecessores, os robôs industriais. Para tal, são necessárias técnicas que lhes permitam interagir de forma efetiva com o ambiente. A parte mais essencial desta interação é o Sistema de Navegação que é um conjunto de métodos e procedimentos que o robô utiliza para se locomover e encontrar seu caminho no mundo. Infelizmente, as pesquisas até agora têm demonstrado pouco sucesso quando os robôs são submetidos a tarefas do mundo real. Métodos baseados em modelagem matemática são inadequados para os robôs móveis, porque seu ambiente é dinâmico e mutável. Já os métodos que rejeitam inteiramente os modelos do mundo e simplesmente reagem às contingências do ambiente, não conseguem ser escalados para problemas complexos. Apesar destas dificuldades, a natureza parece ter se saído particularmente bem ao dotar animais e seres humanos da capacidade de navegação. Uma abordagem recente é buscar inspiração nela. Esta abordagem é representada pelo estudo dos Mapas Cognitivos - estruturas mentais, encontradas em desde ratos até seres humanos, que permitem registrar fatos e raciocinar a respeito dos espaços. Os Mapas Cognitivos da natureza são implementados em Redes Neurais Naturais - os cérebros. Pesquisadores de computação e engenharia procuram imitá-lo com as Redes Neurais Artificiais. Este trabalho propõe criar um sistema de navegação para robô móvel, inspirado no mecanismo de mapa cognitivo, implementado através de Redes Neurais Artificiais. O objetivo é obter um sistema robusto, capaz de responder as exigências de desempenho presentes em tarefas do mundo real.
Modularização de Bases de Dados para a Construção de Sistemas de Informação Flexíveis
Este trabalho trata de um problema característico de organizações constituídas por diversas unidades operacionais com autonomia para definir as próprias regras de desenvolvimento de suas atividades e formas de atuação, mas que também precisam interoperar. Esse problema pode ser traduzido em necessidades de flexibilidade e especificidade dos sistemas de informação. Uma maneira de permitir o desenvolvimento de sistemas de informação com a flexibilidade necessária é a construção de sistemas modulares, onde cada unidade operacional escolhe os módulos que lhe convém, podendo escolher diferentes versões de um módulo para cada função. Para alcançar autonomia de gerenciamento de dados por parte dos subsistemas que compõem urna aplicação é necessário modularizar a base de dados, fazendo com que cada módulo possa ter seu próprio repositório de dados que conterá apenas os dados relevantes as suas transações. Desse modo, este trabalho propõe diretrizes para a modularização de bases de dados, contemplando o compartilhamento e a interoperabilidacle da informação. A modularização foi incorporada ao processo genérico de projeto de base de dados através da inclusão de duas novas fases nesse processo. Como conseqüência da modularização, surgem relacionamentos entre módulos, propondo-se, então, a integração desses através de objetos integradores, que contemplem a possível heterogeneidade do ambiente de gerenciamento de dados. Para caracterizar e delimitar o problema, bem como validar a solução proposta por este trabalho, foi utilizado um estudo de caso de urna associação de cooperativas médicas.