Arquitetura Orientada a Serviços como Base para Implementação de um Algoritmo Evolucionário Paralelo

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

Download "Arquitetura Orientada a Serviços como Base para Implementação de um Algoritmo Evolucionário Paralelo"

Transcrição

1 Arquitetura Orientada a Serviços como Base para Implementação de um Algoritmo Evolucionário Paralelo André de Oliveira Gomes 1, Maury Meirelles Gouvêa Jr. 2 1 Instituto de Ciências Exatas e Informática 2 Instituto Politécnico Pontifícia Universidade Católica de Minas Gerais Belo Horizonte, Brasil Abstract. In dynamic optimization problems, where the optimal solution varies over time, an evolutionary algorithm (EA) performs well when one or more of its parameters are adaptive. However, an EA requires a large computational effort, due to the operations that need to be performed to simulate an evolutionary process. This paper presents an alternative that reduces the processing limitation of EAs in dynamic problems using service-oriented architecture. This approach provides a large processing capacity with parallel computing. The results of the experiments were promising in both processing time and the quality of the solution. Resumo. Em problemas de otimização dinâmicos, onde a solução ótima varia com o tempo, um algoritmo evolucionário (AE) apresenta um bom desempenho quando um ou mais de seus parâmetros são adaptáveis. Entretanto, um AE demanda grande esforço computacional, devido às operações que são realizadas para simular o processo evolucionário. Este artigo apresenta uma alternativa para reduzir a limitação de processamento dos AEs em problemas dinâmicos com a utilização de uma arquitetura orientada a serviços. Essa abordagem fornece um grande poder de processamento através de computação paralela. Os resultados dos experimentos foram promissores tanto no tempo de processamento quanto na qualidade da solução. 1. Introdução A tecnologia de informação (TI) vem sendo utilizada na maioria das soluções apresentadas para os mais diferentes problemas, a fim de aumentar sua eficiência, precisão e, sobretudo, agilidade. A aplicação de sistemas de informação para resolução de problemas geralmente é muito satisfatória, principalmente em comparação com métodos alheios a TI. Para problemas complexos, vêm surgindo algoritmos cada vez mais eficientes, em qualidade e tempo de execução, principalmente devido à evolução do poder computacional. Ainda assim, certos algoritmos, como os evolucionários (EIBEN; SMITH, 2003), necessitam de um grande poder de processamento para encontrar soluções ótimas ou sub-ótimas, devido às várias operações, como mutação e cruzamento, que devem ser feitas para simular o processo evolucionário. Essas operações geram algumas restrições, como, por exemplo, o tempo para se chegar a uma

2 solução adequada. Restrições desse tipo podem tornar necessária a redução das iterações realizadas pelo algoritmo, o que possivelmente prejudicará o resultado final apresentado por ele. Outra restrição do algoritmo evolucionário (AE) é a limitação de dispositivos onde ele pode ser utilizado. Isso se dá porque, como o algoritmo necessita de um grande poder de processamento para apresentar boas soluções, os componentes de hardware mais simples não conseguem executá-lo satisfatoriamente, seja por tempo para se chegar ao objetivo ou pela baixa qualidade da solução apresentada. Em ambientes dinâmicos, onde a melhor solução pode variar com o tempo, o algoritmo deve se adaptar a nova situação o mais rápido possível. Uma solução é reiniciar o processo de otimização, mas para alguns problemas esta solução pode ser muito demorada e até inviável. A adaptação do AE em ambientes dinâmicos tem sido considerada em diversos estudos (BUI et al., 2005; GREFENSTETTE, 1992; SIMÕES; COSTA, 2002). Entretanto, as abordagens que tratam ambientes dinâmicos produzem um grande esforço computacional. A proposta desse artigo é buscar a solução dos problemas de tempo e local de processamento do AE, utilizando como base para sua implementação a arquitetura orientada a serviços (SOA, do inglês Service Oriented Architecture) e alguns padrões de estruturação de código e disponibilização de funcionalidades (SORDI et al., 2006). Através da SOA, é possível garantir um processamento paralelo do algoritmo em um sistema distribuído, reduzindo o tempo de resposta e possibilitando sua utilização em locais que não possuem grandes capacidades de hardware. Com o tempo reduzido, podem-se aplicar técnicas de controle paramétrico para tornar o AE mais adaptativo a ambientes dinâmicos, o que aumenta expressivamente a qualidade das soluções neste tipo de cenário (GOUVÊA; ARAUJO, 2007). O restante deste artigo está estruturado como segue. Na Seção 2, são apresentados conceitos e definições de SOA. Na Seção 3, a SOA implementada para execução do AE paralelo é detalhada, apresentando as ferramentas utilizadas para a elaboração da arquitetura, a seleção dos serviços e as configurações necessárias para o funcionamento da arquitetura. Na Seção 4, são apresentados os experimentos realizados para validação do algoritmo proposto. Os resultados são analisados do ponto de vista do tempo e da qualidade da solução. Na Seção 5, são apresentadas as conclusões e sugestões para trabalhos futuros. 2. Arquitetura Orientada a Serviços (SOA, do inglês Service Oriented Architecture) O paradigma de utilização e desenvolvimento de software tem mudado muito nos últimos anos, principalmente com a evolução das tecnologias e com o aumento da necessidade de utilizá-las. Essa evolução tem acontecido devido a diversos fatores, como o aumento do potencial dos componentes de hardware, que possibilita a utilização de recursos mais avançados. Outro fator importante foram os estudos e propostas de mudanças na forma com que os sistemas são construídos. Essa mudança vai desde os processos de desenvolvimento, como a engenharia de software, até os processos de estruturação dos componentes do sistema, a arquitetura de software (PRESSMAN, 2006). Durante muito tempo o desenvolvimento de software seguiu o paradigma estrutural, onde existiam blocos de código responsáveis por realizar determinadas

3 tarefas. Estas estruturas se dividiam em funções e procedimentos, que executavam comandos linearmente, baseados em uma ordem de passos, e geravam resultados. Em seguida, surgiu o modelo de orientação por objetos (OO), que aproxima a forma com que as soluções de software são elaboradas da forma com que as pessoas fazem naturalmente (SEBESTA, 2005). O paradigma orientado a objetos utiliza-se largamente de conceitos como encapsulamento, alta coesão e baixo acoplamento, visando tornar as soluções mais legíveis, claras e modulares. Isso permite que haja grande reutilização dos códigos gerados e que as manutenções necessárias sejam realizadas sem maiores dificuldades (SOMMERVILLE, 2003). Para colocar em prática os conceitos supracitados, metodologias como padrões de projeto (GAMMA et al., 1995) e padrões de arquitetura de software (FOWLER, 2003) estão sendo cada vez mais utilizadas no desenvolvimento dos sistemas. Diz-se por arquitetura de software a organização fundamental de um sistema, incorporados em seus componentes, suas relações entre si e com o ambiente, e os princípios que orientam o seu desenho e evolução (ANSI/IEEE, 2000). SOA é uma arquitetura de software cujos principais componentes são serviços, disponíveis para consumo das aplicações. Os serviços são funcionalidades com objetivos bem claros e contratos bem definidos, seguindo os conceitos de encapsulamento e coesão. O importante é saber o que o serviço faz, onde ele está acessível e como fazer para utilizá-lo, sem a necessidade de saber como ou onde ele foi implementado (HUHNS; SINGH, 2005). A forma com que estes serviços são desenvolvidos independe de plataforma ou linguagem de programação, e sua utilização também mantém essa transparência. Na SOA, utiliza-se a funcionalidade disponibilizada pelo serviço, sem a preocupação de saber o que ele utiliza ou executa para prover uma resposta, desde que o resultado tenha qualidade e eficiência (TURNER et al., 2003). Os serviços são hospedados em servidores, ou provedores de serviços, responsáveis por receber uma requisição, processá-la e, se necessário for, devolver uma resposta. 3. Implementação do AE Utilizando a SOA A utilização do controle paramétrico tem como objetivo produzir um algoritmo evolucionário mais adaptável ao ambiente, apresentando soluções melhores em problemas dinâmicos (GOUVÊA; ARAUJO, 2007). Uma das formas de tratar problemas dinâmicos com AEs é criar diversas populações, cada uma delas com uma diferente estratégia de controle paramétrico (BRANKE; SCHMECK, 2003). No entanto, essa filosofia pode aumentar muito o esforço computacional, até mesmo tornando o AE inviável para determinados problemas. Com a computação paralela utilizando a SOA, cada população, com sua própria estratégia de controle paramétrico, tem seu processo evolucionário executado em um computador ou núcleo de processamento distinto, garantindo o paralelismo e viabilizando respostas praticamente simultâneas a cada ordem de execução. Além de proporcionar melhorias em desempenho, a utilização da SOA possibilita o acesso a este tipo de solução de qualquer dispositivo provido de tecnologia para chamadas remotas, como a Internet.

4 Neste trabalho, as ferramentas utilizadas para elaboração da SOA são detalhadas a seguir. Como API de desenvolvimento, foi utilizado o Windows Communication Foundation (WCF), por possuir todas os atributos de qualidade necessários para o desenvolvimento do AE baseado em SOA. A linguagem escolhida foi o C#, pois suporta o paradigma de programação orientada a objetos e a serviços, pela riqueza de bibliotecas em diversas áreas, pela grande quantidade de contribuições da comunidade de desenvolvimento de software e, principalmente, pelo ambiente integrado de desenvolvimento (IDE, do inglês Integrated Development Environment) da Microsoft, o Visual Studio Para disponibilização dos serviços criados foi escolhido como servidor web o IIS, por ser totalmente compatível com as demais ferramentas definidas. Com a SOA, tem-se duas propostas para aumentar o poder de processamento do servidor para que o tempo de resposta a cada solicitação seja reduzido, a saber: (i) hospedando os serviços do WCF em um servidor de configurações melhores ou (ii) hospedando os serviços em vários computadores, dividindo a carga de requisições entre eles. Dessa forma os processamentos se tornam paralelos e o tempo de resposta diminui. A alternativa (i) é mais simples, mas pode ser menos viável em relação aos custos e, principalmente, ao desempenho, quando for possível paralelizar várias tarefas do AE. A alternativa (ii) resolve esses problemas, mas necessita de algumas configurações que a (i) não demanda. A primeira necessidade para distribuição de processamento em vários computadores é que cada um deles tenha capacidade de processar o que for solicitado. Para isso, é necessário que os serviços estejam hospedados em todos aqueles computadores que precisem responder às requisições. A segunda necessidade é redirecionar as requisições que chegam dos clientes aos computadores disponíveis, balanceando a carga entre eles da maneira mais eficiente possível. Assim, chega-se a uma melhoria no tempo de resposta final do algoritmo. Para realizar esta tarefa, foi escolhido o Application Request Routing (ARR) Desenvolvimento da SOA Com as ferramentas e técnicas definidas, a SOA já pode ser implementada para execução do AE. A Figura 1 mostra a forma com que a arquitetura elaborada atende às necessidades do problema. Trata-se de uma estrutura do tipo cliente-servidor, onde os clientes podem ser dispositivos variados, como celulares, computadores, laptops e tablets. Esses clientes enviam requisições de execução do algoritmo evolucionário paralelo através de uma rede, como Internet ou rede local, que são recebidas por um servidor central, que distribui as solicitações aos provedores de serviços. Os pedidos são recebidos pelos provedores de serviços, que possuem as funcionalidades que serão consumidas, e devolvem uma resposta a quem a solicitou.

5 Seleção dos serviços Figura 1. SOA para atender a implementação dos AEs No AE baseado em SOA, foram estabelecidas duas abordagens distintas. Na primeira, há um único serviço, denominado DoGenerations, que recebe todos os parâmetros do AE, como população, ambiente, taxas de mutação e cruzamento, e executa o processo evolucionário, no servidor. Na segunda abordagem, transformam-se os diversos mecanismos evolutivos, como cruzamento e mutação, em serviços. Assim, é necessário separá-los de tal forma que fiquem coesos e tenham baixo acoplamento, i.e., não dependam uns dos outros para que suas tarefas sejam concluídas. Na segunda abordagem, foram levantados oito mecanismos evolutivos para se tornarem serviços, a saber: O cálculo da qualidade da solução ou fitness (CalcFitness): recebe uma população e um ambiente como parâmetros, e retorna a população com os fitnesses calculados; A obtenção do melhor fitness da população (GetBestFitness): recebe uma população e retorna um valor absoluto com a melhor solução; O cálculo do fitness médio da população (GetMeanFitness): tem a mesma interface do GetBestFitness, mas retorna o valor médio das soluções; A seleção dos melhores indivíduos da população (SelectIndividuals): recebe uma população e retorna outra com os indivíduos selecionados; O cruzamento entre indivíduos (Crossover): tem a mesma interface do SelectIndividuals, mas retorna a população após o cruzamento dos indivíduos;

6 A mutação dos indivíduos (Mutation): tem a mesma interface do SelectIndividuals, mas retorna a população após a mutação dos indivíduos; A inserção de indivíduos na população (InsertIndividuals) : tem a mesma interface do SelectIndividuals, mas retornar a população após inserir os indivíduos; e A variação do ambiente que o algoritmo está sendo executado (ChangeEnvironment): recebe um ambiente e o retorna alterado. Nas duas abordagens, a sequência de operações é realizada a cada geração do algoritmo evolucionário, como mostra a Figura 2. Figura 2. Fluxo de operações do AE Nenhum dos testes com a segunda abordagem mecanismos evolutivos transformados em serviços apresentou um tempo de resposta aceitável. Isso ocorreu porque a grande quantidade de bytes da população e de outros parâmetros transferida pela rede em cada uma das chamadas, multiplicada pela quantidade de

7 gerações, tem um custo computacional muito alto, que inviabilizou a execução do algoritmo evolucionário paralelo. Na solução da segunda abordagem, em uma única geração realiza-se 10 interações entre cliente e servidor. Por exemplo, se o AE executar 1 mil gerações para chegar a solução, serão aproximadamente 10 mil trocas de informações pela rede. Optou-se, portanto, por utilizar a primeira abordagem com apenas o serviço DoGenerations. Assim, todo o processo evolucionário, Figura 2, é executado no servidor, que reduziu consideravelmente o tempo total de resposta. Com a primeira abordagem, apenas duas trocas são necessárias, a chamada do algoritmo e a resposta do servidor, tornando o processo muito mais eficiente e rápido. A desvantagem dessa abordagem é a redução da flexibilidade de alterações na ordem de execução do AE por parte do cliente Configurações Realizadas nos Servidores Como mostra a Figura 1, a SOA utilizada para implementação do AE possui dois tipos de servidores: um central, denominado servidor web, e n provedores de serviços. O servidor web é responsável por receber todos os pedidos de execução do AE e distribuílos aos provedores de serviços, que os processam e devolvem a resposta ao servidor web. Após o término do processamento de todos os provedores de serviços que foram acionados, podem ser adotadas diversas estratégias para trabalhar com as respostas que chegaram. Uma dessas estratégias é definir a melhor população e adaptar os parâmetros das demais, para que se aproximem da resposta melhor avaliada. Outra alternativa é mudar os parâmetros anteriormente configurados, para que se faça um comparativo entre as respostas anteriores e as que chegarão após a nova tentativa. Uma outra estratégia é realizar a migração de indivíduos entre as populações resultantes do processo evolucionário, trocando indivíduos de uma população para outra. O servidor web e os provedores de serviços possuem configurações distintas, para que cada um cumpra seu papel na arquitetura. Nos provedores de serviços a configuração é mais simples, por ser significativamente automatizada pela IDE do Microsoft Visual Studio Assim, basta definir no projeto que ele será executado pelo IIS e solicitar a criação do diretório virtual no servidor, através da própria IDE. Caso o computador provedor de serviços não tenha o Visual Studio instalado ou acesso aos códigos fonte do AE, basta realizar uma publicação e disponibilizá-la localmente em cada um dos provedores de serviços, efetuando a criação do diretório virtual manualmente no IIS. Nestes computadores deve estar instalado um servidor web, que irá expor os serviços disponíveis, receber as solicitações do servidor central e respondê-las. Este trabalho utiliza o IIS 6.1 para essa finalidade. Como a SOA foi elaborada utilizando a tecnologia WCF mais atualizada, nos provedores de serviços também deve estar instalada a versão 4 da Framework.NET, elaborada pela Microsoft. Com estas ferramentas instaladas, eles já estão aptos a hospedar o AE implementado e, então, receber requisições de processamento deste algoritmo. O servidor central também necessita do IIS instalado, pelos mesmos motivos apresentados para os provedores de serviços. Entretanto, ele não precisa hospedar os serviços que representam o AE, nem ter a Framework.NET 4 instalada, uma vez que ele não fará nenhum processamento das requisições de execução, somente as distribuirá para os provedores de serviços. Para realizar essa distribuição, é necessário instalar uma ferramenta de roteamento dos pedidos. Neste trabalho, o ARR é utilizado para que esse

8 objetivo seja atendido. Ao instalar o ARR, criam-se opções no IIS para que sejam listados os servidores para os quais as requisições serão distribuídas, para que se defina a estratégia para tal distribuição, além de diversas configurações e métodos de acompanhamento dos servidores. Para este artigo, foram configurados dois servidores provedores de serviços e um servidor central, que balanceava a carga entre eles. O algoritmo de distribuição utilizado no ARR trabalha enviando a próxima requisição ao servidor livre que recebeu a menor quantidade de pedidos. Como os provedores de serviços possuíam configurações semelhantes e, consequentemente, tempos de respostas parecidos, essa estratégia demonstrou grande eficiência em relação às demais Utilização da SOA no Lado do Cliente Após a execução dos passos já citados, os usuários que irão utilizar os AEs baseados nessa arquitetura, denominados clientes, já podem realizar chamadas ou consumo aos serviços disponibilizados pelo sistema distribuído responsável por representar o AE. Para isto, os clientes necessitam apenas de conhecer seu EndPoint, i.e., seu endereço, definições de como acessá-lo (protocolos, métodos de segurança, etc.) e seu contrato (quais funcionalidades estão expostas por ele). O EndPoint dos serviços disponíveis pode ser descoberto através da IDE, quando se executa o WCF, ou através do servidor web, quando se procura o serviço hospedado. Com o EndPoint conhecido, existem diversas formas de consumi-los. Por se tratar de WCF, eles podem ser acessados por diversos protocolos e consumidos por sistemas das mais variadas linguagens. Para este artigo, foi desenvolvido um programa cliente sem interface gráfica, em C#, que realiza chamadas assíncronas ao serviço criado para representar o AE (DoGenerations). O local onde o serviço estava localizado foi adicionado como referência web da aplicação cliente e, a partir deste momento, existiam classes que, se instanciadas, permitiam acessar os serviços através de chamadas de seus métodos. Como o método DoGenerations recebe alguns parâmetros, como a população que passará pelo processo evolucionário, o ambiente onde o AE será executado, as taxas de cruzamento e mutação, o número de gerações, dentre outros, o programa cliente foi preparado para construir estes parâmetros e utilizar as técnicas de controle para tornar o AE mais adaptativo, variando as taxas supracitadas e a pressão de seleção do ambiente. Neste trabalho, o servidor central, os provedores de serviços e o cliente estavam em uma rede Ethernet, mas nada impede que cada um destes elementos esteja geograficamente distante dos outros. Por exemplo, podem-se configurar os servidores em um local e, de outro lugar, o cliente consumir os serviços disponibilizados através de um protocolo HTTP, desde que o dispositivo tenha acesso para isso. Outro exemplo é a configuração de um servidor web que divide as requisições aos provedores de serviços que estão espalhados em diversos pontos do país ou do mundo, e um celular, localizado em outra posição geográfica e com acesso à internet, faz o consumo dos serviços, através da URL fornecida pelo servidor central por um EndPoint. 4. Estudo Experimental Para validar o AE paralelo com SOA, proposto neste trabalho, foi realizado um experimento com três abordagens, a saber, o AE padrão (AEP), uma população sem controle de parâmetros em um computador; um AE com multipopulações (AEMP) em

9 um computador; e o método proposto, AE paralelo com SOA (AESOA). Foram consideradas três métricas para análise de desempenho: a média do melhor fitness da população durante o processo evolucionário, o desvio padrão dessa média e o tempo de execução. Para cada abordagem, foram realizadas cinco execuções para que fossem extraídos resultados médios das métricas de desempenho. O experimento realizado utilizou o problema da mochila, de otimização combinatória (SMITH; GOLDBERG, 1992). Nesse problema, o objetivo é maximizar a quantidade de objetos transportados em uma mochila considerando o valor e o peso de cada objeto. Assim, tem-se como objetivo Max n i1 v i x i (1) n s. a. w x C (2) i1 i sendo x i o número de unidades do i-ésimo objeto, v i e w i o valor e o peso desse objeto, respectivamente, e C o peso máximo suportado pela mochila. Para as abordagens dos AEs com multipopulações, foram utilizadas 11 populações com parâmetros evolutivos diferentes, a saber, as taxas de mutação e cruzamento e a pressão de seleção. As populações foram criadas com 120 indivíduos (N = 120), cada um com 10 genes (n = 10), taxa de seleção de pais igual a 0.5, taxa de reprodução igual a 0.5, seleções pelo método do torneio, com pressão de seleção igual a G / N, sendo G o tamanho do grupo do torneio. Os parâmetros evolutivos das 11 populações foram: a) Taxas de mutação de { 0.5, 0.1, 0.05 }; b) Taxas de cruzamento de { 0.5, 0.6, 0.7, 0.8 }; c) Pressões de seleção de { 0.02, 0.1, 0.2, 0.3 }. Em todos os experimentos, as populações evoluíram gerações, com variações aleatórias do peso máximo da mochila, C, a cada 100 gerações. O AESOA foi executado em três computadores, sendo que o primeiro foi utilizado pelas abordagens sem paralelismo: i Provedora de serviços 1: Intel Core i5 M GHz, 4GB RAM, com Windows 7 Home Premium 32 bits; Provedora de serviços 2: Intel Core i3 M GHz, 4GB RAM, com Windows 7 Ultimate 32 bits; Servidor de balanceamento: Intel Core i5 M GHz, 1.5GB RAM, com Windows 7 Professional 32 bits Resultados dos Experimentos Os resultados dos experimentos permitiram comparar a qualidade da solução e o tempo de execução das três abordagens. A primeira análise, qualidade da solução, mostrou que o método proposto, AESOA, foi mais eficiente, como mostra a Figura 3.

10 Na Figura 3, observa-se que um AE com multipopulações com diferentes parâmetros evolutivos tem desempenho muito superior em ambientes dinâmicos, quando comparado ao AEP. Nos modelos AEMP e AESOA, os fitnesses médios foram significativamente melhores que o do AEP. Também é possível observar que o AESOA apresentou melhor desempenho, pois teve maior fitness na maior parte do processo evolucionário, i.e., mais estável por crescer mais rapidamente após a mudança do ambiente. Figura 3. Comparativo do fitness entre as execuções do AE A Tabela 1 apresenta os resultados das três abordagens de AE testadas nos experimentos. Observa-se que a média do melhor fitness (MF) da população do AEP foi menor que dos AE com multipopulações em todas as execuções, assim como o desvio padrão (DP) muito mais alto, o que indica um MF mais disperso. Nota-se também que o AESOA teve solução pior que o AEMP em apenas uma execução, consequentemente tendo uma média melhor. O desvio padrão do método proposto também foi menor, o que indica menos dispersão das soluções em relação à média. A segunda análise, que compara os tempos de execução das três abordagens, apresentou uma vantagem ainda mais expressiva para a arquitetura proposta por este trabalho, como mostra a Figura 4. Como foram utilizadas dois computadores para dividir o processamento das populações, o ganho em tempo de resposta do AESOA em relação ao AEMP foi de aproximadamente 42,64%, i.e., um tempo quase duas vezes menor para se chegar a soluções ainda melhores. Espera-se que utilizando N computadores a redução no tempo de processamento do AESOA em comparação a um AE com multipopulações não-paralelo seja aproximadamente N vezes menor, desconsiderando os recursos de rede necessários para que este resultado seja obtido.

11 Tabela 1. Comparativo entre as três abordagens de AE Exec. AEP AEMP AESOA MF DP MF DP MF DP 1 122,56 49,10 209,19 14,87 205,08 13, ,54 92,96 200,72 14,86 205,08 13, ,52 68,00 203,08 13,27 206,37 14, ,56 71,98 202,75 14,04 203,46 12, ,97 76,18 204,04 14,69 208,15 14,03 Média 127,83 71,64 203,96 14,34 205,63 13,69 5. Conclusões Figura 4. Tempo de execução do AE entre os métodos AESOA e AEMP Este trabalho apresentou um algoritmo evolucionário paralelo, com multipopulações, utilizando a arquitetura SOA. Foram demonstradas formas de se utilizar a computação paralela e distribuída para tornar o AE mais eficiente e rápido em ambientes dinâmicos, com multipopulações com diferentes estratégias. Nos experimentos que validaram o método proposto, os resultados alcançados foram satisfatórios, tanto do ponto de vista de tempo de processamento quanto de desempenho. Em tempo de execução, concluiu-se que o AE com SOA é aproximadamente N vezes mais rápido que o modelo clássico, onde N é a quantidade de servidores disponíveis para distribuição da carga. Com a computação paralela e distribuída, diversas alternativas podem ser investigadas para que as soluções apresentadas pelo AE sejam ainda mais satisfatórias. Uma dessas alternativas é implementar migração entre as populações do AE paralelo.

12 Outra alternativa é implementar o controle de diversidade do AE paralelo, centralizando esse tarefa em um servidor e trocando informações entre os demais. 6. Referências Bibliográficas BUI, L. T.; BRANKE, J.; ABBASS, H. Multi-objective optimization for dynamic environments. In: Proceedings of the Congress on Evolutionary Computation. Edinburgh: IEEE press, BRANKE, J.; SCHMECK, H. Designing Evolutionary Algorithms for Dynamic Optimization Problems. In: Advances in Evolutionary Computing: Theory and Applications. New York: Springer , EIBEN, A. E.; SMITH, J. E. Introduction to Evolutionary Computing. Natural Computing Series. Springer, FOWLER, Martin. Patterns of Enterprise Application Architecture. Boston: Addison-Wesley, GOUVÊA JR., M. M., ARAUJO, A. F. R. Diversity-Based Model Reference for Genetic Algorithms in Dynamic Environment, 2007 IEEE Congress on Evolutionary Computation (CEC 07). Sep , GREFENSTETTE, J. J. Genetic algorithms for changing environments. In:. Parallel Problem Solving from Nature. [S.l.]: North-Holland, v. 2, p PRESSMAN, R. S., Engenheria de Software (6a edição). São Paulo, Editora McGrawHill, SEBESTA, Robert W. Conceitos de linguagens de programação. 5. ed. Bookman, Porto Alegre, SMITH, R. E.; GOLDBERG, D. E. Diploidy and dominance in artificial genetic search. Complex Systems, v. 6, n. 3, p , SIMÕES, A.; COSTA, E. Using genetic algorithms to deal with dynamic environments: a comparative study of several approaches based on promoting diversity. In: ALII, W. B. L. et (Ed.). Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2002). New York, USA: Morgan Kaufmann Publishers, SOMMERVILLE, I. Engenharia de Software. 6ª. Edição. São Paulo: Addison Wesley, 2003 SORDI, José Osvaldo de; MARINHO, Bernadete de Lourdes; NAGY, Marcio. Benefícios da Arquitetura de Software Orientada a Serviços para as Empresas: Análise da Experiência do ABN AMRO Brasil. Revista de Gestão da Tecnologia e Sistemas de Informação, Vol. 3, No. 1, 2006, p TURNER, M.; BUDGEN, D.; BRERETON, P. Turning Software into a Service. IEEE Computer, Outubro 2003.

- Computação Evolutiva -

- Computação Evolutiva - - Computação Evolutiva - Prof. Dr. Cícero Garrozi DEINFO - UFRPE PPGIA@UFRPE cicerog@gmail.com Site da disciplina: http://cicerog.blogspot.com Sumário Situando a Computação Evolucionária Metáfora principal

Leia mais

Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências

Leia mais

Complemento IV Introdução aos Algoritmos Genéticos

Complemento IV Introdução aos Algoritmos Genéticos Complemento IV Introdução aos Algoritmos Genéticos Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações e

Leia mais

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Audrey B. Vasconcelos, Iuri Santos Souza, Ivonei F. da Silva, Keldjan Alves Centro de Informática Universidade

Leia mais

Problema de alocação de salas de aulas: uma abordagem via algoritmos genéticos

Problema de alocação de salas de aulas: uma abordagem via algoritmos genéticos III Encontro de Modelagem Computacional Problema de alocação de salas de aulas: uma abordagem via algoritmos genéticos Marco Aurélio Buono Carone- thecoreh@gmail.com Vinícius Tinti de Paula Oliveira- viniciustinti@gmail.com

Leia mais

Otimização do Planejamento de Cargas de Dados utilizando Algoritmos Genéticos

Otimização do Planejamento de Cargas de Dados utilizando Algoritmos Genéticos Otimização do Planejamento de Cargas de Dados utilizando Algoritmos Genéticos Tatiana Escovedo 1, Adriano S. Koshiyama 1 e Marco Aurélio C. Pacheco 1 1 Departamento de Engenharia Elétrica Pontifícia Universidade

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA 136 ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA FILITTO, Danilo 1 Resumo: Os algoritmos Genéticos inspiram-se no processo de evolução natural e são utilizados para resolver problemas de busca e otimização

Leia mais

JAVA MESSAGE SERVICE, UMA ALTERNATIVA ENTRE COMUNICAÇÃO DE SISTEMAS: uma abordagem prática. Lucas Yokowo dos Santos 1 RESUMO

JAVA MESSAGE SERVICE, UMA ALTERNATIVA ENTRE COMUNICAÇÃO DE SISTEMAS: uma abordagem prática. Lucas Yokowo dos Santos 1 RESUMO JAVA MESSAGE SERVICE, UMA ALTERNATIVA ENTRE COMUNICAÇÃO DE SISTEMAS: uma abordagem prática Lucas Yokowo dos Santos 1 RESUMO Mesmo com a consolidação de protocolos de comunicação via rede no mercado, como

Leia mais

Automatizando o Data Center

Automatizando o Data Center Este artigo examina uma arquitetura alternativa que suporte a automação do data center e o provisionamento dinâmico sem a virtualização do sistema operacional. por Lori MacVittie Gerente Técnico de Marketing,

Leia mais

Proposta de um Processo Sistematizado de Controle de Manutenção de Software para Micro e Pequenas Empresas

Proposta de um Processo Sistematizado de Controle de Manutenção de Software para Micro e Pequenas Empresas Proposta de um Processo Sistematizado de Controle de Manutenção de Software para Micro e Pequenas Empresas Dayler Vinicius M. Alves 1, Carlos Renato Storck 1 1 Instituto de Informática Pontifícia Universidade

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos UNIVERSIDADE PRESBITERIANA MACKENZIE Laboratório de Computação Natural LCoN I ESCOLA DE COMPUTAÇÃO NATURAL Algoritmos Genéticos Rafael Xavier e Willyan Abilhoa Outubro/2012 www.computacaonatural.com.br

Leia mais

5 Implantação. 5.1. Plano do Piloto

5 Implantação. 5.1. Plano do Piloto 5 Implantação Neste capítulo será abordada a fase de implantação do novo sistema de gerenciamento de conhecimento baseado em Web Semântica. O capítulo 4 (Desenvolvimento) modelou, arquitetou e desenvolveu

Leia mais

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos

SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos SLAG - Resolvendo o Problema do Caixeiro Viajante Utilizando Algoritmos Genéticos Fredson Vieira Costa 1, Fábio Silveira Vidal 1, Claudomiro Moura Gomes André 1 1 Curso de Bacharelado em Ciência da Computação

Leia mais

FTIN Formação Técnica em Informática. Sistema Operacional Proprietário Windows Prof. Walter Travassos

FTIN Formação Técnica em Informática. Sistema Operacional Proprietário Windows Prof. Walter Travassos FTIN Formação Técnica em Informática Sistema Operacional Proprietário Windows Prof. Walter Travassos Aula 01 SISTEMA OPERACIONAL PROPRIETÁRIO WINDOWS Competências do Módulo Instalação e configuração do

Leia mais

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação 1 Ruironaldi dos Santos Cruz ARTIGO ARQUITETURA ORIENTADA A SERVIÇO SOA SERVICE

Leia mais

ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO

ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO ALGORITMO HÍBRIDO PARA SISTEMAS DE RECOMENDAÇÃO UTILIZANDO FILTRAGEM COLABORATIVA E ALGORITMO GENÉTICO Renan de Oliveira Yamaguti Faculdade de Engenharia de Computação / CEATEC renan.yamaguti@terra.com.br

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

Leia mais

Padrões de Interação com o Usuário

Padrões de Interação com o Usuário Padrões de Interação com o Usuário Granularidade dos Padrões Padrões estão relacionados a 3 elementos: Contexto ocorre Problema resolve Solução Problemas e Soluções podem ser observados em diferentes níveis

Leia mais

Auxílio à distribuição geográca de recursos utilizando mineração de dados e aprendizado de máquina. M. G. Oliveira

Auxílio à distribuição geográca de recursos utilizando mineração de dados e aprendizado de máquina. M. G. Oliveira Auxílio à distribuição geográca de recursos utilizando mineração de dados e aprendizado de máquina M. G. Oliveira Technical Report - RT-INF_001-11 - Relatório Técnico June - 2011 - Junho The contents of

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Evolution of Robustness in an Electronic Design

Evolution of Robustness in an Electronic Design Evolution of Robustness in an Electronic Design MAC0461 - Introdução ao Escalonamento e Aplicações Professor: Alfredo Goldman vel Lejbman Instituto de Matemática e Estatística Universidade de São Paulo

Leia mais

ESTUDO PRELIMINAR SOBRE A ESCALABILIDADE DE UM ALGORITMO GENÉTICO PARALELIZADO COM OPENMP. Mateus Fontoura Gomes da Rosa Márcia C.

ESTUDO PRELIMINAR SOBRE A ESCALABILIDADE DE UM ALGORITMO GENÉTICO PARALELIZADO COM OPENMP. Mateus Fontoura Gomes da Rosa Márcia C. ESTUDO PRELIMINAR SOBRE A ESCALABILIDADE DE UM ALGORITMO GENÉTICO PARALELIZADO COM OPENMP Mateus Fontoura Gomes da Rosa Márcia C. Cera Roteiro Introdução Problema de Roteamento de Veículos Objetivos da

Leia mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Introdução às Redes Neurais Artificiais Treinamento via Algoritmos Genéticos Prof. João Marcos Meirelles da Silva http://www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET Átila Correia Cunha 1, 2, Glaucon Henrique Mauricio Maia 1, 2, Waner Ferreira Tavares 1, 2, Jorge Bergson¹, Rui Gomes Patrício 3

Leia mais

Alocação de Grade Horária em Instituições de Ensino Superior Utilizando Algoritmos Genéticos

Alocação de Grade Horária em Instituições de Ensino Superior Utilizando Algoritmos Genéticos Alocação de Grade Horária em Instituições de Ensino Superior Utilizando Algoritmos Genéticos Cristiane Divina L. Hamawaki 1, Keiji Yamanaka 1, Rodrigo C. Oliveira 1, Osvaldo T. Hamawaki 2 1 Faculdade de

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

Leia mais

Documentação de um Produto de Software

Documentação de um Produto de Software Documentação de um Produto de Software Versão 3.0 Autora: Profª Ana Paula Gonçalves Serra Revisor: Prof. Fernando Giorno 2005 ÍNDICE DETALHADO PREFÁCIO... 4 1. INTRODUÇÃO AO DOCUMENTO... 6 1.1. TEMA...

Leia mais

Portabilidade da Linha RM Versão 11.40.0

Portabilidade da Linha RM Versão 11.40.0 Portabilidade da Linha RM Versão 11.40.0 Conteúdo Portabilidade para Servidor de Banco de Dados... 3 Níveis de Compatibilidade entre Bancos de Dados... 5 Portabilidade para Servidor de Aplicação... 6 Portabilidade

Leia mais

SOA: Service-oriented architecture

SOA: Service-oriented architecture SOA: Service-oriented architecture Roteiro Breve História O que é Arquitetura de Software? O que é SOA? Serviços Infraestrutura Composição Sua empresa está preparada para SOA? Breve História Uma empresa

Leia mais

RELATÓRIO DE ATIVIDADES DISCIPLINA: ARQUITETURAS PARALELAS. Hadoop e QEF: Uma abordagem distribuída para aplicações de Astronomia

RELATÓRIO DE ATIVIDADES DISCIPLINA: ARQUITETURAS PARALELAS. Hadoop e QEF: Uma abordagem distribuída para aplicações de Astronomia UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO (IC) RELATÓRIO DE ATIVIDADES DISCIPLINA: ARQUITETURAS PARALELAS Hadoop e QEF: Uma abordagem distribuída para aplicações de Astronomia Henrique Klôh

Leia mais

Uma proposta de um processo prático para apoiar o reuso de software

Uma proposta de um processo prático para apoiar o reuso de software Uma proposta de um processo prático para apoiar o reuso de software Rosangela Kronig (UNIP) rkronig.mes.engprod@unip.br Ivanir Costa (UNIP) icosta@unip.br Mauro Spínola (UNIP) mspinola@unip.br Resumo A

Leia mais

Arquitetura e Sistema de Monitoramento para

Arquitetura e Sistema de Monitoramento para Arquitetura e Sistema de Monitoramento para 1 Computação em Nuvem Privada Mestranda: Shirlei A. de Chaves Orientador: Prof. Dr. Carlos Becker Westphall Colaborador: Rafael B. Uriarte Introdução Computação

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Introdução ao Design

Introdução ao Design Introdução ao Design João Arthur e Guilherme Germoglio Coordenação de Pós-graduação em Informática - COPIN 16/10/2008 João Arthur e Guilherme Germoglio 1/ 33 Roteiro 1 Introdução Objetivos 2 Definições

Leia mais

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES Sistema de Informação e Tecnologia FEQ 0411 Prof Luciel Henrique de Oliveira luciel@uol.com.br Capítulo 5 INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES PRADO, Edmir P.V.; SOUZA, Cesar A. de. (org). Fundamentos

Leia mais

Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação. Proposta Trabalho de Graduação

Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação. Proposta Trabalho de Graduação Universidade Federal de Pernambuco Centro de Informática Graduação em Ciência da Computação Proposta Trabalho de Graduação Um Mecanismo de Monitoramento e Seleção de Serviços Baseado em Atributos de Qualidade

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER TÁSSIO JOSÉ GONÇALVES GOMES tassiogoncalvesg@gmail.com MINICURSO WINDOWS SERVER 2008 TÁSSIO GONÇALVES - TASSIOGONCALVESG@GMAIL.COM 1 CONTEÚDO Arquitetura

Leia mais

1 http://www.google.com

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

Leia mais

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01 Prof. André Lucio Competências do modulo Introdução ao sistema operacional Windows Instalação e configuração do sistema

Leia mais

Algoritmos genéticos multiobjetivos aplicados ao roteamento multicast com Qualidade de Serviço

Algoritmos genéticos multiobjetivos aplicados ao roteamento multicast com Qualidade de Serviço Algoritmos genéticos multiobjetivos aplicados ao roteamento multicast com Qualidade de Serviço Autor: Stéfano Schwenck Borges Vale Vita 1 Orientadora: Prof a. Dr a. Gina Maira Barbosa de Oliveira 1 1 Programa

Leia mais

Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços

Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços Visão Geral Desafio Solução Uma implementação SOA (Service Oriented Architecture) bem-sucedida

Leia mais

Computação Evolutiva: desvendando os algoritmos genéticos Evolutionary Computing: unleashing genetic algorithms

Computação Evolutiva: desvendando os algoritmos genéticos Evolutionary Computing: unleashing genetic algorithms Computação Evolutiva: desvendando os algoritmos genéticos Evolutionary Computing: unleashing genetic algorithms Sílvio Petroli Neto 1, FAJ, USF Resumo Este trabalho apresenta os Algoritmos Genéticos, uma

Leia mais

DISCIPLINA: Métodos Heurísticos

DISCIPLINA: Métodos Heurísticos DISCIPLINA: Métodos Heurísticos CURSO(S): Licenciatura em Engenharia e Gestão Industrial Licenciatura em Engenharia de Sistemas e Informática Licenciatura em Matemática Aplicada Licenciatura em Matemática

Leia mais

Expandindo uma Arquitetura para HPC em Nuvens Computacionais Utilizando Conceitos de Computação

Expandindo uma Arquitetura para HPC em Nuvens Computacionais Utilizando Conceitos de Computação Expandindo uma Arquitetura para HPC em Nuvens Computacionais Utilizando Conceitos de Computação Autonômica Emanuel F. Coutinho 1, Gabriel A. L. Paillard 1 Leonardo O. Moreira 1, Ernesto Trajano de Lima

Leia mais

Sistemas Distribuídos

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

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

XDR. Solução para Big Data.

XDR. Solução para Big Data. XDR Solução para Big Data. ObJetivo Principal O volume de informações com os quais as empresas de telecomunicações/internet têm que lidar é muito grande, e está em constante crescimento devido à franca

Leia mais

Verificação de Impressões Digitais usando Algoritmos Genéticos

Verificação de Impressões Digitais usando Algoritmos Genéticos 1. Introdução Verificação de Impressões Digitais usando Algoritmos Genéticos Matheus Giovanni Pires, Fernando Vieira Duarte, Adilson Gonzaga Escola de Engenharia de São Carlos Universidade de São Paulo

Leia mais

Portabilidade da Linha RM Versão 11.20.0

Portabilidade da Linha RM Versão 11.20.0 Portabilidade da Linha RM Versão 11.20.0 Conteúdo Portabilidade para Servidor de Banco de Dados... 3 Níveis de Compatibilidade entre Bancos de Dados... 5 Portabilidade para Servidor de Aplicação... 6 Portabilidade

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

Um guia para soluções de rede CLARiSUITE TM

Um guia para soluções de rede CLARiSUITE TM Perguntas Técnicas Frequentes Segurança do Código CLARiSUITE Um guia para soluções de rede CLARiSUITE TM Visão geral Segurança, integridade e estabilidade da infraestrutura de TI são as principais preocupações

Leia mais

PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013.

PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013. PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013. ACRESCENTA A ARQUITETURA DE PADRÕES TECNOLÓGICOS DE INTEROPERABILIDADE -, NO SEGMENTO ORGANIZAÇÃO E INTERCÂMBIO DE INFORMAÇÕES, O PADRÃO TECNOLÓGICO

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento. SOA Arquitetura Orientada a Serviços Conceitos e Aplicações Prof. MSc. Edilberto Silva edilms@yahoo.com/ http://edilms.eti.br Gestão de TI Conceitode SOA SOA - Service OrientedArchitecture (Arquitetura

Leia mais

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

Um Sistema de Suporte ao Planejamento para Gestão de Projetos

Um Sistema de Suporte ao Planejamento para Gestão de Projetos Um Sistema de Suporte ao Planejamento para Gestão de Projetos Fabrício Jailson Barth, Edson Satoshi Gomi Laboratório de Engenharia de Conhecimento (Knoma) Departamento de Computação e Sistemas Digitais

Leia mais

Avaliação de dependabilidade em infraestruturas Eucalyptus geograficamente distribuídas

Avaliação de dependabilidade em infraestruturas Eucalyptus geograficamente distribuídas Avaliação de dependabilidade em infraestruturas Eucalyptus geograficamente distribuídas Jonathan Brilhante(jlgapb@cin.ufpe), Bruno Silva(bs@cin.ufpe) e Paulo Maciel(prmm@cin.ufpe) Agenda 1. 2. 3. 4. 5.

Leia mais

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Web Services. Integração de aplicações na Web. Sistemas Distribuídos Web Services Integração de aplicações na Web Integração de Aplicações na Web Interoperação entre ambientes heterogêneos desafios diversidade de componentes: EJB, CORBA, DCOM... diversidade de linguagens:

Leia mais

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Ricardo Terra 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Campus da Pampulha 31.270-010

Leia mais

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE Nelson Ribeiro de Carvalho Júnior 1 RESUMO Atualmente o cenário mundial cuja dependência do software está cada vez mais evidente requer que

Leia mais

Revisão para a prova B2. Conteúdo das Aulas: 10, 11 e 14

Revisão para a prova B2. Conteúdo das Aulas: 10, 11 e 14 Revisão para a prova B2 Conteúdo das Aulas: 10, 11 e 14 Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.br Disciplina: Serviços de Redes Microsoft Professor:

Leia mais

ANEXO I ESPECIFICAÇÃO TÉCNICA 1. HARDWARE DO APPLIANCE

ANEXO I ESPECIFICAÇÃO TÉCNICA 1. HARDWARE DO APPLIANCE Aquisição de Solução de Criptografia para Backbone da Rede da Dataprev ANEXO I ESPECIFICAÇÃO TÉCNICA 1. HARDWARE DO APPLIANCE 1.1 Cada appliance deverá ser instalado em rack de 19 (dezenove) polegadas

Leia mais

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

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

Leia mais

Portabilidade da Linha RM Versão 11.52

Portabilidade da Linha RM Versão 11.52 Portabilidade da Linha RM Versão 11.52 25/02/2014 Sumário 1. Portabilidade para Servidor de Banco de Dados... 3 2. Níveis de Compatibilidade entre Bancos de Dados... 4 3. Portabilidade para Servidor de

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

IBM Software. Otimize seus ambientes de SOA, B2B e nuvem com WebSphere DataPower Agosto de 2011

IBM Software. Otimize seus ambientes de SOA, B2B e nuvem com WebSphere DataPower Agosto de 2011 IBM Software Otimize seus ambientes de SOA, B2B e nuvem com WebSphere DataPower Agosto de 2011 2 Otimize seus ambientes de SOA, B2B e nuvem com WebSphere DataPower Destaques Amplie os serviços de negócios

Leia mais

Supercomputação. Simplificada.

Supercomputação. Simplificada. Supercomputação. Simplificada. INTRODUÇÃO AO WINDOWS HPC SERVER 2008 R2 SUITE O Windows HPC Server 2008 R2, solução de HPC de terceira geração da Microsoft, oferece uma solução abrangente e econômica para

Leia mais

APLICAÇÕES DE ALGORITMOS GENÉTICOS

APLICAÇÕES DE ALGORITMOS GENÉTICOS APLICAÇÕES DE ALGORITMOS GENÉTICOS Augusto Cesar E. Redusino Faculdade Salesiana Maria Auxiliadora R. Monte Elíseos S/N Visconde de Araújo CEP 27943-180 Macaé-RJ e-mail: augustoredusino@gmail.com Resumo

Leia mais

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS

3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS 3 ALGORITMOS GENÉTICOS : CONCEITOS BÁSICOS E EXTENSÕES VINCULADAS AO PROBLEMA DE MINIMIZAÇÃO DE PERDAS 3.1 - Conceitos Básicos Entendemos como algoritmo um conjunto predeterminado e bem definido de regras

Leia mais

Um Arcabouço open source em Python para DBC com

Um Arcabouço open source em Python para DBC com Um Arcabouço open source em Python para DBC com Suporte à Evolução Dinâmica não Antecipada Yguaratã C. Cavacanti 1, Hyggo Oliveira de Almeida 1, Evandro Costa 2 1 Instituto de Computação Universidade Federal

Leia mais

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede.

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede. Aula 2 Objetivo: Saber qual a funcionalidade de um sistema operacional de rede. Sistema Operacional de Rede Definição: Conjunto de módulos que ampliam as tarefas dos sistemas operacionais locais, complementando-os

Leia mais

1. Introdução. João Victor Cunha Oliveira Gomes 1, Bruno Souto Borges 1. CEP 75500-000 Itumbiara GO Brasil

1. Introdução. João Victor Cunha Oliveira Gomes 1, Bruno Souto Borges 1. CEP 75500-000 Itumbiara GO Brasil 88 Estudo de Caso Aplicado na Gestão da Cadeia de Suprimentos de uma Indústria de Cereais Matinais Modelagem e Desenvolvimento de um Sistema de Informação para a Gestão da Cadeia de Suprimentos João Victor

Leia mais

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

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

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Desenvolvimento de uma interface para uma biblioteca open-source de algoritmos de programação linear

Desenvolvimento de uma interface para uma biblioteca open-source de algoritmos de programação linear Desenvolvimento de uma interface para uma biblioteca open-source de algoritmos de programação linear William Pereira dos Santos Wada 1 Luís Gustavo Barioni 2 Introdução Um grande número de problemas de

Leia mais

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software O que é software? Software e Engenharia de Software Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 5 Servidores de Aplicação

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

Simulação da Configuração de uma Rede de Sensores Sem Fio para Cobertura de uma Região

Simulação da Configuração de uma Rede de Sensores Sem Fio para Cobertura de uma Região Simulação da Configuração de uma Rede de Sensores Sem Fio para Cobertura de uma Região RESUMO Este trabalho apresenta uma simulação da configuração de uma Rede de Sensores Sem Fio para cobertura de uma

Leia mais

A Melhoria de Desempenho de Processos em uma Instituição Bancária Brasileira: Um Estudo de Caso

A Melhoria de Desempenho de Processos em uma Instituição Bancária Brasileira: Um Estudo de Caso A Melhoria de Desempenho de Processos em uma Instituição Bancária Brasileira: Um Estudo de Caso Fernando Cesar Camilo Centro Universitário de Araraquara- UNIARA SP Brasil fc_camilo@yahoo.com.br Prof. Dr.

Leia mais

CAPÍTULO 2 ARQUITETURAS CLIENTE-SERVIDOR PARA DISSEMINAÇÃO DE DADOS GEOGRÁFICOS: UMA REVISÃO

CAPÍTULO 2 ARQUITETURAS CLIENTE-SERVIDOR PARA DISSEMINAÇÃO DE DADOS GEOGRÁFICOS: UMA REVISÃO CAPÍTULO 2 ARQUITETURAS CLIENTE-SERVIDOR PARA DISSEMINAÇÃO DE DADOS GEOGRÁFICOS: UMA REVISÃO Existem várias maneiras com as quais dados geográficos podem ser distribuídos pela Internet, todas fundamentadas

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

TerraME HPA (High Performance Architecture)

TerraME HPA (High Performance Architecture) Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM TerraME HPA (High Performance Architecture) Aluno: Saulo Henrique Cabral Silva

Leia mais

Infra-Estrutura de TI: Hardware e Software

Infra-Estrutura de TI: Hardware e Software Capítulo 4 Infra-Estrutura de TI: Hardware e Software 4.1 2007 by Prentice Hall Infra-Estrutura de TI: Hardware Componentes da Infra-Estrutura Hardware Software Tecnologia de gerenciamento de dados Tecnologia

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

Análise de Desempenho de um SGBD para Aglomerado de Computadores

Análise de Desempenho de um SGBD para Aglomerado de Computadores Análise de Desempenho de um SGBD para Aglomerado de Computadores Diego Luís Kreutz, Gabriela Jacques da Silva, Hélio Antônio Miranda da Silva, João Carlos Damasceno Lima Curso de Ciência da Computação

Leia mais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais Introdução Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras

Leia mais

11 Conclusão. 11.1 Descobertas

11 Conclusão. 11.1 Descobertas 97 11 Conclusão 11.1 Descobertas Nesse trabalho apresentamos o McCloud Service Framework, um arcabouço para implementação de serviços baseados na Simulação de Monte Carlo na nuvem, disponibilizamos duas

Leia mais

Symantec Backup Exec.cloud

Symantec Backup Exec.cloud Proteção automática, contínua e segura que faz o backup dos dados na nuvem ou usando uma abordagem híbrida, combinando backups na nuvem e no local. Data Sheet: Symantec.cloud Somente 2% das PMEs têm confiança

Leia mais