Advanced search
Start date
Betweenand
(Reference retrieved automatically from Web of Science through information on FAPESP grant and its corresponding number as mentioned in the publication by the authors.)

Architecting Fault Tolerance with Exception Handling: Verification and Validation

Full text
Author(s):
Brito, Patrick H. S. [1] ; de Lemos, Rogerio [2] ; Rubira, Cecilia M. F. [1] ; Martins, Eliane [1]
Total Authors: 4
Affiliation:
[1] Univ Estadual Campinas, Inst Comp, Campinas, SP - Brazil
[2] Univ Kent, Comp Lab, Canterbury CT2 7NZ, Kent - England
Total Affiliations: 2
Document type: Journal article
Source: JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY; v. 24, n. 2, p. 212-237, MAR 2009.
Web of Science Citations: 7
Abstract

When building dependable systems by integrating untrusted software components that were not originally designed to interact with each other, it is likely the occurrence of architectural mismatches related to assumptions in their failure behaviour. These mismatches, if not prevented during system design, have to be tolerated during runtime. This paper presents an architectural abstraction based on exception handling for structuring fault-tolerant software systems. This abstraction comprises several components and connectors that promote an existing untrusted software element into an idealised fault-tolerant architectural element. Moreover, it is considered in the context of a rigorous software development approach based on formal methods for representing the structure and behaviour of the software architecture. The proposed approach relies on a formal specification and verification for analysing exception propagation, and verifying important dependability properties, such as deadlock freedom, and scenarios of architectural reconfiguration. The formal models are automatically generated using model transformation from UML diagrams: component diagram representing the system structure, and sequence diagrams representing the system behaviour. Finally, the formal models are also used for generating unit and integration test cases that are used for assessing the correctness of the source code. The feasibility of the proposed architectural approach was evaluated on an embedded critical case study. (AU)