Uma Abordagem Reflexiva Baseada no Modelo de Componente Tolerante a Falhas Ideal para o Desenvolvimento de Sistemas Orientados a Objetos Confiáveis
Abstract: Fault tolerance represents a major challenge to design of moderns computing systems. However, the construction of fault-tolerant systems is not a simple task. It requires the use of appropriate techniques during the whole software development cycle. Besides, ideally fault-tolerance mechanisms should be incorporated to the original system in a structured and non-intrusive manner. In this context, we propose a set of patterns (design decisions) that make easier the task of building fault-tolerant object-oriented systems. This patterns are based on idealised fault-tolerant component model. The computacional reflection concept is used aiming a clear separation of the normal activity from the abnormal activity of a software component. The normal activities, that implement the functional requirements, are implemented by base-level objects, while the abnormal activities, that implement the fault tolerance mechanisms, are implemented by meta-level objects. The patterns are design choices that should be taken during the software development cycle aiming a structured design, where the fault-tolerance mechanisms is incorporated to the original system in a structured and controlled manner.
Resumo: Tolerância a falhas é um importante requisito no desenvolvimento de sistemas computacionais modernos. Entretanto, a contrução de sistemas tolerantes a falhas é uma atividade complexa especializada durante todo o ciclo de desenvolvimento do sistema. Além disso, idealmente a provisão de tolerância a falhas deveria ser feita de forma estruturada e não-intrusiva. Neste contexto, propomos um conjunto de padrões (decisões de projetos) que auxiliam o desenvolvimento de sistemas orientados a objetos tolerantes a falhas. Estes padrões são baseados no modelo de componente tolerante a falhas ideal. O conceito de reflexão computacional é utilizado objetivando a obtenção de uma separação explícita entre o comportamento normal e anormal dos componentes. As atividades normais, que implementam os requisitos funcionais da aplicação, são implementados no nível base, enquanto as atividade anormais, que implementam os mecanismos de tolerância a falhas, são implementados no meta-nível, através de meta-objetos. Os padrões representam decisões de projeto que devem ser tomadas no desenvolvimento de sistemas orientados a objetos tolerantes a falhas objetivando a obtenção de um projeto estruturado, onde a introdução dos mecanismos de tolerância a falhas é feita de forma controlada e consistente.
1999