Please use this identifier to cite or link to this item: https://hdl.handle.net/10923/7204
Type: masterThesis
Title: JFAULT: tolerância a falhas transparente utilizando reflexão e compilação dinâmica no modelo de meta-níveis
Author(s): Scherer, Marcio Gustavo Gusmão
Advisor: Dotti, Fernando Luís
Publisher: Pontifícia Universidade Católica do Rio Grande do Sul
Graduate Program: Programa de Pós-Graduação em Ciência da Computação
Issue Date: 2015
Keywords: INFORMÁTICA
TOLERÂNCIA A FALHAS (INFORMÁTICA)
SISTEMAS DISTRIBUÍDOS
Abstract: Fault tolerance has become an important mean to achieve high availability in computational systems. However, building fault tolerant architectures is not a trivial task. Reflection in Meta-level architectures has been used for years as a mean for implementation of nonfunctional requirements. In this way it is possible to have a clear separation of its implementation from the implementation of the business logic itself (functional requirements) in layers or levels. These levels have become known, respectively, as base-level and metalevel and are regularly used in nowadays systems’ architecture since they bring several benefits such as increased reuse and reduced complexity, furthermore, they provide better responsibilities separation among systems’ components. On the other hand, if the meta-level is a useful architecture artifice there is still the need to build the meta-level components that intend to handle fault tolerance in application’s services, the components need to be implemented and integrated to the system’s architecture, which involves some development effort and complexity. This work presents a proposal to build, automatically and in runtime, the meta-level components for fault tolerance handling in application’s services. More precisely, it intends to propose a framework – named JFault – which using reflection and dynamic compilation will leverage those requirements transparently and with minor changes in the system. The framework is implemented in Java, language that supports both reflection and dynamic compilation, but could be built in any programming language that supports such APIs.
Tolerância a falhas tornou-se um importante meio para se garantir alta disponibilidade de sistemas computacionais. No entanto, a construção de arquiteturas tolerantes a falhas não é uma tarefa trivial. Reflexão em arquiteturas de meta-nível tem sido usada há anos como um meio para implementação de requisitos não-funcionais. Dessa forma é possível ter uma separação clara e em níveis entre a implementação da lógica de negócios do sistema (requisitos funcionais) e as relacionadas ao uso da aplicação em termos de desempenho, usabilidade, segurança, disponibilidade, etc (não funcionais). Estes níveis se tornaram conhecidos na literatura, respectivamente, como nível-base e meta-nível e são frequentemente utilizados em sistemas hoje em dia visto que trazem vários benefícios como aumento de reuso de código e redução de acoplamento entre os elementos da arquitetura, além de trazer uma melhor divisão de responsabilidades entre os componentes do sistema. Por outro lado, se as arquiteturas de meta-nível se tornaram um artifício útil, existe a necessidade de se implementar os componentes de meta-nível responsáveis pela criação de serviços tolerantes a falhas, o que envolve esforço de desenvolvimento, adaptações no sistema e geralmente adiciona certa complexidade à arquitetura. Este trabalho apresenta uma proposta de construir, de forma automática e em tempo de execução, os componentes de meta-nível para tolerância a falhas em serviços de aplicações. Mais precisamente, pretende propor um framework – chamado JFault - que usando reflexão e compilação dinâmica se propõe a preencher esse requisito de forma transparente e com pequenas alterações no sistema. O framework é implementado em Java, linguagem que suporta tanto reflexão como compilação dinâmica, mas poderia ser construído em qualquer linguagem de programação que suporta tais APIs.
URI: http://hdl.handle.net/10923/7204
Appears in Collections:Dissertação e Tese

Files in This Item:
File Description SizeFormat 
000467903-Texto+Completo-0.pdfTexto Completo2,02 MBAdobe PDFOpen
View


All Items in PUCRS Repository are protected by copyright, with all rights reserved, and are licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Read more.