Cuando entre la sabiduría en tu corazón y la ciencia sea dulce para tu alma velará sobre ti la reflexión y te guardará la prudencia
Proverbio
A los míos, gracias de todo corazón
Agradecimientos:Al Doctor D. Pedro Joaquín Gil Vicente, director de esta tesis, por su orientación y su constante ayuda.A los directores y promotores del proyecto Fault Injection for TTA, el Doctor Herbert Grünbacher, del Instituto Técnico de Carinthia, y el Doctor Herman Kopetz, de la Universidad Técnica de Viena, y en general, a todos los miembros del proyecto.A todos los compañeros del Departamento de Informática de Sistemas y Computadores (D.I.S.C.A.), y en especial a los integrantes del Grupo de Sistemas Tolerantes a Fallos al cual pertenezco.A mi familia, porque sin ellos no hubiera podido llegar hasta aquí. A mi marido, Eduardo, por su apoyo incondicional y su eterna paciencia.A todos, gracias.
AbstractDependability has so far been used as a required characteristic in order to evaluate complex or critical systems, especially those in which a failure means a risk for human life or high economical losses. Nowadays, the development of embedded systems has increased in all areas, from industrial environments to household uses. Due to the commercial expansion of embedded systems and market competitiveness, many system designers take dependability into account. Dependability evaluation and system validation has to be carried out before the functional-live phase of the product. Since an "in situ" work may require a long time because of the low failure rate of components in modern circuits, it is useful to resort to a experimental validation that generates faulty events forcing the system to deal with them according to design specifications. Fault Injection is an experimental validation method with increasing acceptance based on the realization of controlled experiments where the observation of the system behaviour in present of faults is explicitly induced by the deliberate introduction (injection) of faults into the system.The effect of physical faults on current semiconductors, with their high operation frequency and integration density, is more aggressive than the effect obtained on devices of less advanced technologies. It can no longer be justified that a single fault only causes a single error. Consequently, it is necessary to deal with multiple errors. It has been also observed with Single Events Upsets on static and dynamic RAM memories. Moreover, thinking on the short distance existing between pads, it would be reasonable to validate the tolerance of the system against multiple faults in physically neighbouring lines.There are many fault injection techniques and tools, among them, Physical fault injection at pin level is applied externally to the system and it can fulfil the requirement of not causing overhead or alteration in the execution of the code. Thus, this technique is suitable to validate complex fault-tolerant real-time distributed embedded systems. The strong temporal requirements of a real-time system, and its own co...