SciELO - Scientific Electronic Library Online

vol.4 issue2A Fault Tolerant Colored Petri Net Model for Flexible Manufacturing SystemsA New Trend on the Development of Fault-Tolerant Applications: Software Meta-Level Architectures author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand




Related links


Journal of the Brazilian Computer Society

Print version ISSN 0104-6500On-line version ISSN 1678-4804


BUZATO, Luiz E.; RUBIRA, Cecília M. F.  and  LISBOA, Maria Lúcia B.. A Reflective Object-Oriented Architecture for Developing Fault-Tolerant Software. J. Braz. Comp. Soc. [online]. 1997, vol.4, n.2, pp.-. ISSN 1678-4804.

This paper proposes a reflective object-oriented architecture for developing fault-tolerant software. Reflective object-oriented programming promotes a modular structuring of systems by means of a new dimension of modularization—the separation between base-level objects and meta-level objects. This property allows the creation of metaobjects responsible for managing tasks of application objects located at the base level. In the context of this work, computational reflection is applied to implement various strategies of fault tolerance at the meta-level in a transparent manner for the application programmer, that is, without interfering with the original structure of application objects that require fault tolerance facilities. The use of the proposed architecture has the following advantages: (i) separation of concerns, that is, separate the concerns related to the application domain from those related to the implementation of fault-tolerant mechanisms; (ii) it promotes code reuse of fault-tolerance mechanisms; (iii) it allows application programmers to use the most adequate fault-tolerance strategy for his implementation, and (iv) it provides a design that is more adaptable, flexible and easier to extend than traditional designs for developing fault-tolerant software. Our reflective architecture is composed of three levels, and is based on the abstraction of object groups.

Keywords : software fault tolerance; hardware fault tolerance; object-oriented programming; computational reflection; meta-level architecture.

        · text in English


Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License