Third party software components (i.e. Commercials Off the Shelf (COTS) and Free and Open-Source Software (FOSS)) are now increasingly used in infrastructure systems and applications with high dependability requirements [1, 2]. Dependability in general, and the implementation of fault-tolerance in particular, requires a comprehensive analysis of the considered systems. For systems that are built out multiple components this means a thorough understanding of components internal behavior, and inter-component interactions, in particular for mastering state entangling, causality tracking, non-determinism, and state capture/ restoration. In previous publications we have proposed a conceptual framework  and a design approach  to address this issue and help implement fault-tolerant mechanisms independently from the system nominal services (separation of concerns) in a principled and disciplined manner. We have called our approach Multi-Layer Reflection as it leverages the experience gathered on reflective fault-tolerant systems, and adapts it to the particular context of complex component-based software architectures. As a support to this work, we have developed a prototype suite of reverse engineering tools named CosmOpen (Comprehensive Open Source MOdeling and Patternizing ENvironement) that explicitly focuses on the needs that we identified as necessary for Multi-Layer Reflection. We used this suite to validate our approach and understand the complex relationships of some component-based multi-layer systems. In this paper we sketch some of the dynamic analysis capabilities of CosmOpen and explain their relevance for the development of generic fault-tolerant mechanisms in complex software systems.
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-2018 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