A reflective object-oriented architecture for developing fault-tolerant software

Detalhes bibliográficos
Autor(a) principal: Buzato, Luiz Eduardo
Data de Publicação: 1997
Outros Autores: Rubira, Cecilia Mary Fischer, Lisboa, Maria Lucia Blanck
Tipo de documento: Artigo
Idioma: eng
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/72563
Resumo: 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.
id UFRGS-2_8d801ed4e81e90f104e2f1995b401239
oai_identifier_str oai:www.lume.ufrgs.br:10183/72563
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Buzato, Luiz EduardoRubira, Cecilia Mary FischerLisboa, Maria Lucia Blanck2013-06-19T01:43:32Z19970104-6500http://hdl.handle.net/10183/72563000154806This 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.application/pdfengJournal of the Brazilian Computer Society. Rio de Janeiro. Vol. 4, n. 2 (nov. 1997), p. 39-48Tolerancia : Falhas : SoftwareProgramação orientada : ObjetosSoftware fault toleranceHardware fault toleranceObject-oriented programmingComputational reflectionMeta-level architectureA reflective object-oriented architecture for developing fault-tolerant softwareinfo:eu-repo/semantics/articleinfo:eu-repo/semantics/otherinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000154806.pdf000154806.pdfTexto completo (inglês)application/pdf58446http://www.lume.ufrgs.br/bitstream/10183/72563/1/000154806.pdf7cb256dc66b3aab503ddeffecc7d0788MD51TEXT000154806.pdf.txt000154806.pdf.txtExtracted Texttext/plain36854http://www.lume.ufrgs.br/bitstream/10183/72563/2/000154806.pdf.txt750eddb97115a9a057dd086349170893MD52THUMBNAIL000154806.pdf.jpg000154806.pdf.jpgGenerated Thumbnailimage/jpeg1799http://www.lume.ufrgs.br/bitstream/10183/72563/3/000154806.pdf.jpg0d54bf429765405b9ed478defc201d7eMD5310183/725632018-10-08 08:15:57.566oai:www.lume.ufrgs.br:10183/72563Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2018-10-08T11:15:57Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv A reflective object-oriented architecture for developing fault-tolerant software
title A reflective object-oriented architecture for developing fault-tolerant software
spellingShingle A reflective object-oriented architecture for developing fault-tolerant software
Buzato, Luiz Eduardo
Tolerancia : Falhas : Software
Programação orientada : Objetos
Software fault tolerance
Hardware fault tolerance
Object-oriented programming
Computational reflection
Meta-level architecture
title_short A reflective object-oriented architecture for developing fault-tolerant software
title_full A reflective object-oriented architecture for developing fault-tolerant software
title_fullStr A reflective object-oriented architecture for developing fault-tolerant software
title_full_unstemmed A reflective object-oriented architecture for developing fault-tolerant software
title_sort A reflective object-oriented architecture for developing fault-tolerant software
author Buzato, Luiz Eduardo
author_facet Buzato, Luiz Eduardo
Rubira, Cecilia Mary Fischer
Lisboa, Maria Lucia Blanck
author_role author
author2 Rubira, Cecilia Mary Fischer
Lisboa, Maria Lucia Blanck
author2_role author
author
dc.contributor.author.fl_str_mv Buzato, Luiz Eduardo
Rubira, Cecilia Mary Fischer
Lisboa, Maria Lucia Blanck
dc.subject.por.fl_str_mv Tolerancia : Falhas : Software
Programação orientada : Objetos
topic Tolerancia : Falhas : Software
Programação orientada : Objetos
Software fault tolerance
Hardware fault tolerance
Object-oriented programming
Computational reflection
Meta-level architecture
dc.subject.eng.fl_str_mv Software fault tolerance
Hardware fault tolerance
Object-oriented programming
Computational reflection
Meta-level architecture
description 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.
publishDate 1997
dc.date.issued.fl_str_mv 1997
dc.date.accessioned.fl_str_mv 2013-06-19T01:43:32Z
dc.type.driver.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/other
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
format article
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/72563
dc.identifier.issn.pt_BR.fl_str_mv 0104-6500
dc.identifier.nrb.pt_BR.fl_str_mv 000154806
identifier_str_mv 0104-6500
000154806
url http://hdl.handle.net/10183/72563
dc.language.iso.fl_str_mv eng
language eng
dc.relation.ispartof.pt_BR.fl_str_mv Journal of the Brazilian Computer Society. Rio de Janeiro. Vol. 4, n. 2 (nov. 1997), p. 39-48
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/72563/1/000154806.pdf
http://www.lume.ufrgs.br/bitstream/10183/72563/2/000154806.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/72563/3/000154806.pdf.jpg
bitstream.checksum.fl_str_mv 7cb256dc66b3aab503ddeffecc7d0788
750eddb97115a9a057dd086349170893
0d54bf429765405b9ed478defc201d7e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1815447497385967616