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.

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

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

- 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS

INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS INOVANDO UM PROCESSO DE SERVIÇOS DE TI COM AS BOAS PRÁTICAS DO ITIL E USO DE BPMS Cilene Loisa Assmann (UNISC) cilenea@unisc.br Este estudo de caso tem como objetivo trazer a experiência de implantaçã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

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

CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET MATRIZ CURRICULAR

CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET MATRIZ CURRICULAR CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET MATRIZ CURRICULAR 1º SEMESTRE P101 Desenvolvimento Web 80 CE05 CE06 P102 Língua Portuguesa 40 CG08 CG13 P103 Algoritmos e Lógica de Programação 80

Leia mais

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

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

Leia mais

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

Sistema Integrado de Gestão ERP. Prof: Edson Thizon ethizon@gmail.com

Sistema Integrado de Gestão ERP. Prof: Edson Thizon ethizon@gmail.com Sistema Integrado de Gestão ERP Prof: Edson Thizon ethizon@gmail.com Tecnologia da Informação. O que é TI? TI no mundo dos negócios Sistemas de Informações Gerenciais Informações Operacionais Informações

Leia mais

Tecnologia da Informação. Sistema Integrado de Gestão ERP ERP

Tecnologia da Informação. Sistema Integrado de Gestão ERP ERP Tecnologia da Informação. Sistema Integrado de Gestão ERP Prof: Edson Thizon ethizon@gmail.com O que é TI? TI no mundo dos negócios Sistemas de Informações Gerenciais Informações Operacionais Informações

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

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

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

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

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

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

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

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

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

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

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

Leia mais

1 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

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

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

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Módulo 4. Visão geral dos controles do COBIT aplicáveis para implantação da Sarbanes, o papel de TI, a importância dos softwares e exercícios

Módulo 4. Visão geral dos controles do COBIT aplicáveis para implantação da Sarbanes, o papel de TI, a importância dos softwares e exercícios Módulo 4 Visão geral dos controles do COBIT aplicáveis para implantação da Sarbanes, o papel de TI, a importância dos softwares e exercícios Estruturas e Metodologias de controle adotadas na Sarbanes COBIT

Leia mais

TÍTULO: IMPLEMENTAÇÃO DE UM SOFTWARE PARA GERENCIAMENTO DE ESTOQUE AUTOMÁTICO

TÍTULO: IMPLEMENTAÇÃO DE UM SOFTWARE PARA GERENCIAMENTO DE ESTOQUE AUTOMÁTICO Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: IMPLEMENTAÇÃO DE UM SOFTWARE PARA GERENCIAMENTO DE ESTOQUE AUTOMÁTICO CATEGORIA: CONCLUÍDO ÁREA:

Leia mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

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

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

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

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

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

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

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial Aluno: André Faria Ruaro Professores: Jomi F. Hubner e Ricardo J. Rabelo 29/11/2013 1. Introdução e Motivação 2.

Leia mais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

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

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

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

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

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

Leia mais

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

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

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

RMI: Uma Visão Conceitual

RMI: Uma Visão Conceitual RMI: Uma Visão Conceitual Márcio Castro, Mateus Raeder e Thiago Nunes 11 de abril de 2007 Resumo Invocação de Método Remoto (Remote Method Invocation - RMI) trata-se de uma abordagem Java para disponibilizar

Leia mais

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva da solução SAP SAP Technology SAP Afaria Objetivos Gestão da mobilidade empresarial como vantagem competitiva Simplifique a gestão de dispositivos e aplicativos Simplifique a gestão de dispositivos e aplicativos

Leia mais

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE

EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EIMOBILE INSTITUIÇÕES DE ENSINO MOBILE por Miguel Aguiar Barbosa Trabalho de curso II submetido como

Leia mais

Análise da vantagem de adoção e uso de sistemas ERP código aberto em relação aos sistemas ERP código fechado

Análise da vantagem de adoção e uso de sistemas ERP código aberto em relação aos sistemas ERP código fechado Análise da vantagem de adoção e uso de sistemas ERP código aberto em relação aos sistemas ERP código fechado Louis Albert Araujo Springer Luis Augusto de Freitas Macedo Oliveira Atualmente vem crescendo

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

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

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

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

UM PROTÓTIPO DO SISTEMA PARA CONTROLE DE BIBLIOTECAS POR MEIO DE PÁGINAS WEB DINÂMICAS 1

UM PROTÓTIPO DO SISTEMA PARA CONTROLE DE BIBLIOTECAS POR MEIO DE PÁGINAS WEB DINÂMICAS 1 UM PROTÓTIPO DO SISTEMA PARA CONTROLE DE BIBLIOTECAS POR MEIO DE PÁGINAS WEB DINÂMICAS 1 Daniel de Faveri HONORATO 2, Renato Bobsin MACHADO 3, Huei Diana LEE 4, Feng Chung WU 5 Escrito para apresentação

Leia mais

Modelos e Arquiteturas de Sistemas Computacionais

Modelos e Arquiteturas de Sistemas Computacionais Modelos e Arquiteturas de Sistemas Computacionais Prof. Ricardo J. Rabelo UFSC Universidade Federal de Santa Catarina DAS Departamento de Automação e Sistemas SUMÁRIO Importância da definição da Arquitetura

Leia mais

Xen Cloud Platform Xen descomplicado

Xen Cloud Platform Xen descomplicado Xen Cloud Platform Xen descomplicado CAPA A Xen Cloud Platform facilita muito a criação e o gerenciamento de máquinas virtuais sobre o hypervisor Xen. por Boris Quiroz e Stephen Spector A revolução da

Leia mais

FACSENAC. SISGEP SISTEMA GERENCIADOR PEDAGÓGICO DRP (Documento de Requisitos do Projeto de Rede)

FACSENAC. SISGEP SISTEMA GERENCIADOR PEDAGÓGICO DRP (Documento de Requisitos do Projeto de Rede) FACSENAC SISTEMA GERENCIADOR PEDAGÓGICO Versão: 1.2 Data: 25/11/2011 Identificador do documento: Documento de Visão V. 1.7 Histórico de revisões Versão Data Descrição Autor 1.0 03/10/2011 Primeira Edição

Leia mais

Consolidação inteligente de servidores com o System Center

Consolidação inteligente de servidores com o System Center Consolidação de servidores por meio da virtualização Determinação do local dos sistemas convidados: a necessidade de determinar o melhor host de virtualização que possa lidar com os requisitos do sistema

Leia mais

João Víctor Rocon Maia Engenharia de Computação - UFES

João Víctor Rocon Maia Engenharia de Computação - UFES João Víctor Rocon Maia Engenharia de Computação - UFES Agenda Quem usa? Conceito Ilustração Vantagens Tipologia Topologia Como fazer? O que é preciso? Infraestrutura Sistema Operacional Software Eucalyptus

Leia mais

UTILIZAÇÃO DA CRONOGRAMAÇÃO NA GERÊNCIA DE PROJETO E PROTOTIPAGEM NA VALIDAÇÃO DE REQUISITOS

UTILIZAÇÃO DA CRONOGRAMAÇÃO NA GERÊNCIA DE PROJETO E PROTOTIPAGEM NA VALIDAÇÃO DE REQUISITOS UTILIZAÇÃO DA CRONOGRAMAÇÃO NA GERÊNCIA DE PROJETO E PROTOTIPAGEM NA VALIDAÇÃO DE REQUISITOS Ademilson Ângelo Cabral Discente do curso Tecnologia em Análise e Desenvolvimento de Sistemas Faculdades Integradas

Leia mais

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 60 h 1º Evolução histórica dos computadores. Aspectos de hardware: conceitos básicos de CPU, memórias,

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

Guia Rápido de Licenciamento do SQL Server 2012

Guia Rápido de Licenciamento do SQL Server 2012 Guia Rápido de Licenciamento do SQL Server 2012 Data de publicação: 1 de Dezembro de 2011 Visão Geral do Produto SQL Server 2012 é uma versão significativa do produto, provendo Tranquilidade em ambientes

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Projeto OBAA. Relatório Técnico RT-OBAA-07 Grupo Agentes e Ontologias. Proposta de Federação de Repositórios de Objetos Educacionais.

Projeto OBAA. Relatório Técnico RT-OBAA-07 Grupo Agentes e Ontologias. Proposta de Federação de Repositórios de Objetos Educacionais. Edital MCT/FINEP/MC/FUNTTEL Plataformas para Conteúdos Digitais 01/2007 Projeto OBAA Relatório Técnico RT-OBAA-07 Grupo Agentes e Ontologias Proposta de Federação de Repositórios de Objetos Educacionais

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

Sistemas SCADAS. Apresentação dos sistemas de supervisão do mercado de automação: - Elipse E3 (fabricante Eilpse)

Sistemas SCADAS. Apresentação dos sistemas de supervisão do mercado de automação: - Elipse E3 (fabricante Eilpse) A palavra SCADA é um acrônimo para Supervisory Control And Data Acquisition. Os primeiros sistemas SCADA, basicamente telemétricos, permitiam informar periodicamente o estado corrente do processo industrial,

Leia mais

Cisco UCS Mini: solução avançada com recursos corporativos

Cisco UCS Mini: solução avançada com recursos corporativos Resumo da solução Cisco UCS Mini: solução avançada com recursos corporativos Você deseja uma solução de computação unificada para a sua empresa de médio ou pequeno porte ou para o padrão avançado do seu

Leia mais

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Agenda 1. Arquitetura de Software 1.1.Introdução 1.2.Vantagens da Arquitetura de Software

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

Tópicos. Engenharia de Software: Uma Visão Geral

Tópicos. Engenharia de Software: Uma Visão Geral Tópicos 2 3 Engenharia de Software: Uma Visão Geral SCE 186 - Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002 A importância do Software Software Aplicações

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 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Como Desenvolver Sistemas de Informação Capítulo 11 Pág. 337 2

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Metodologia de Desenvolvimento de Sistemas

Metodologia de Desenvolvimento de Sistemas Metodologia de Desenvolvimento de Sistemas Aula 1 Ementa Fases do Ciclo de Vida do Desenvolvimento de Software, apresentando como os métodos, ferramentas e procedimentos da engenharia de software, podem

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

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.

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

Rotina de Discovery e Inventário

Rotina de Discovery e Inventário 16/08/2013 Rotina de Discovery e Inventário Fornece orientações necessárias para testar a rotina de Discovery e Inventário. Versão 1.0 01/12/2014 Visão Resumida Data Criação 01/12/2014 Versão Documento

Leia mais

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc. Implementar servidores de Web/FTP e DFS Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.br Conteúdo programático Introdução ao protocolo HTTP Serviço web

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

Capítulo 1 - Introdução 14

Capítulo 1 - Introdução 14 1 Introdução Em seu livro Pressman [22] define processo de software como um arcabouço para as tarefas que são necessárias para construir software de alta qualidade. Assim, é-se levado a inferir que o sucesso

Leia mais