JFAULT : tolerância a falhas transparente utilizando reflexão e compilação dinâmica no modelo de meta-níveis

Detalhes bibliográficos
Ano de defesa: 2015
Autor(a) principal: Scherer, Marcio Gustavo Gusmão
Orientador(a): Dotti, Fernando Luís lattes
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Pontifícia Universidade Católica do Rio Grande do Sul
Programa de Pós-Graduação: Programa de Pós-Graduação em Ciência da Computação
Departamento: Faculdade de Informática
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: http://tede2.pucrs.br/tede2/handle/tede/5963
Resumo: 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.