This paper presents the principles of multilevel reflection as an enabling technology for the design and implementation of adaptive fault tolerant system architectures. The reflection paradigm enables exhibiting the structural and behavioral aspects of the software component under control, to design and implement appropriate non-functional mechanisms at a metalevel. This paradigm provides separation of concern, which is highly needed as far as fault tolerance is concerned. However, the design and the implementation of fault tolerance being an orthogonal concept among system layers, this paradigm must be applied to all system layer in a consistent manner to provide the necessary and sufficient information for error detection and recovery. This is the main argument for introducing the notion of multilevel reflection in this paper, and describing its basic concepts and overall framework. Examples related to fault tolerant computing are used to justify the concepts. Some practical work based on retro-engineering techniques has recently been carried out to start implementing the proposed framework.
Copyright Notice: This material is presented to ensure timely dissemination of scholarly and technical work.Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.
IEEE Copyright Notice: © 2001-2020 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.complete document
presentationdoi: http://doi.org/10.1109/PRDC.2002.1185619 (publisher's link)