Scielo RSS <![CDATA[Journal of the Brazilian Computer Society]]> vol. 4 num. 2 lang. en <![CDATA[SciELO Logo]]> <![CDATA[<B>A CAT Tool for Frequency-domain Testing and Diagnosis on Analog</B>]]> This paper presents a sensitivity-based test generation tool for analog multifrequency testing and diagnosis. The test generation procedure is based on sensitivity analysis and on fault simulation. This tool generates minimal test sets that maximize the coverage of soft, large and hard component faults and that enhance the coverage of interconnect shorts. An introduction to the problem of analog fault diagnosis considering both component and interconnect faults, is also presented. This procedure is now being automated by integrating commercially available tools for symbolic computation and electrical simulation <![CDATA[<B>A Fault Tolerant Colored Petri Net Model for Flexible Manufacturing Systems </B>]]> This paper introduces an approach based on Colored Petri Nets (CPN) to systematically introduce fault-tolerance in the design of a supervisor for a Flexible Manufacturing System (FMS). The system is modeled by means of Place/Transition nets and then is structurally reduced, resulting in a CPN that is independent of a specific production route. The introduction of fault tolerance in the design of such a supervisor considers both forward recovery and backward recovery. For forward recovery we anticipate faults in resources in a production route and reschedule the production routes for production orders before the faulty resource is reached. The backward recovery is considered at the level of a resource in such a way that when a faulty resource is fixed, the operation restarts on the last consistent operation executed <![CDATA[<B>A Reflective Object-Oriented Architecture for Developing Fault-Tolerant Software</B>]]> 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. <![CDATA[<B>A New Trend on the Development of Fault-Tolerant Applications</B>: <B>Software Meta-Level Architectures</B>]]> The purpose of this paper is to investigate a clearly defined way of developing fault-tolerant applications using software meta-level architectures. Meta-level architectures are software architectures based on computational reflection. It addresses complex pieces of software: fault-tolerant software. Fault-tolerant applications must cope with several non-functional requirements to maintain its functionality. So, it is particularly relevant to investigate how to alleviate developers from repeatedly dealing with this complexity. Some solutions are presented, such as software patterns and basic guidelines to help the development of such applications <![CDATA[<b>On the Design of the Seljuk-Amoeba Operating Environment</b>]]> Building dependable distributed applications is not an easy task. Designers of such systems have followed two complementary approaches to reduce design complexity, namely: i) the use of appropriate developing tools; and ii) the choice of the most restrictive failure semantics possible for the components that form the system’s underlying execution layer. The Seljuk model uses these two approaches to specify a structured way of providing fault tolerance services in the context of distributed operating environments, thus facilitating the construction and execution of dependable distributed applications. In this paper we present the design of the Seljuk-Amoeba operating environment, which follows the Seljuk model to enhance the Amoeba distributed operating system with the provision of fault tolerance services