[pt] Sistemas de Software fatalmente necessitam passar por modificações ao longo de sua existência para que sejam efetuadas tanto correções de erros quanto alterações evolutivas que contemplem novos requisitos. Processos de manutenção desse tipo normalmente exigem que os sistemas sejam interrompidos por algum período de tempo, que varia de acordo com a complexidade da modificação e com a tecnologia utilizada. Essa interrupção pode ser inaceitável no caso de aplicações que exijam um alto grau de disponibilidade. Nesse caso, qualquer tipo de alteração precisa ser feita de maneira dinâmica, sem interromper a aplicação. No caso de sistemas distribuídos, essa dificuldade é significantemente agravada em decorrência do número naturalmente maior de usuários atendidos e da própria distribuição de seus módulos. A implementação de mecanismos que permitem substituir ou introduzir novas funcionalidades em aplicações de maneira dinâmica foge de escopo da maioria das aplicações, por se tratar de um desenvolvimento de elevada complexidade. Acreditamos que a crescente demanda por mecanismo deste tipo justifica que eles sejam oferecidos sob a forma de serviços pela camada de middleware. Neste trabalho, avaliamos a implementação de mecanismos de adaptação dinâmica em um sistema de componentes desenvolvido em Java. Estes mecanismos devem permitir efetuar alterações nas aplicações de maneira simples e estruturada, sem que seja necessário interromper o seu funcionamento. Posteriormente, comparamos a solução obtida com uma solução similar implementada com a linguagem Lua para avaliar as vantagens e desvantagens apresentadas por dois tipos de linguagem para sistemas dinamicamente adaptáveis. Avaliamos também o desempenho da solução, comparando o tempo de execução de aplicação desenvolvidas sobre ela com similares desenvolvidas sem ela, medindo assim a sobrecarga de desempenho imposto pela solução proposta. / [en] Software systems will inevitably need to suffler modifications during its existence, in order to receive both error corrections and evolutionary changes that address new requirements. This kind of maintenance processes typically involves the interruption of the systems for an amount of time that varies with the complexity of the change and with the used technology. This interruption may be unacceptable in the case of applications that demand a high degree of availability. In this case, any modification must be made dynamically, without interrupting the application. In the case of distributed systems, this difficulty is significantly increased due to the typical greater number of users and to the distribution of their modules. Replacement or addition of features dynamically in applications developed with the major middleware platforms , such as CORBA or RMI, is a fairly complex process, which requires both the replaced modules and those that interact with the implementation of dynamic adaptation mechanisms that circumvent these limitations of dynamic adaptation mechanisms that circumvent these limitations is beynd of the scope of most applications, due to its highly complex nature. We believe that the increasing demand for such mechanisms justifies that they should be offered as services on the middleware layer. In this dissertation we evaluete the implementation of dynamic adaptation mechanisms in a component system developed using the Java programming language. These mechanisms should allow changing applications in simple and structured way, without the need to interrupt its operation. We compare the developed solution with a similar solution developed using the Lua proramming Language, in order to evaluate the advantages and disadvantages presented by this two types of languages in the implementation of dynamically adaptable sustems. We also evaluate the performance of the proposed.
Identifer | oai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:25806 |
Date | 19 February 2016 |
Creators | EDUARDO PILLA PORTILHO |
Contributors | RENATO FONTOURA DE GUSMAO CERQUEIRA, RENATO FONTOURA DE GUSMAO CERQUEIRA |
Publisher | MAXWELL |
Source Sets | PUC Rio |
Language | Portuguese |
Detected Language | Portuguese |
Type | TEXTO |
Page generated in 0.0028 seconds