# Dependable Computing, From basic concepts to critical applications | Sureté de fonctionnement

contact : Jean-Charles Fabre | INP

Tout système est sujet à ses défaillances internes, matérielle ou logicielles. Aucun système complexe est totalement sans failles.

La sureté de fonctionnement correspond à l'ensemble des méthodes et techniques concernant les fautes accidentelles et intentionnelles d'un système.

Comment procéder ?

- Prévenir
- Tolérer
- Eliminer
- Mesurer

Souvent cela se matérialise par l'ajout de mécanisme d'auto défense dans un système sujet aux failles.

Safety : Défense contre les défaillaces
Sécurité : Défense contre les attaques

# Basic concepts of dependable computing

Les systèmes industriels complexe sont obligatoirement sujets aux erreurs/failures, qu'elles soient hardware ou software.

Pour y pallier, il existe deux approches : 

- Le développement zéro failure, vaste utopie rarement atteinte
- Le développement orienté safety qui vise à intégrer des mécanismes de défense

Une façon de mettre en place des mécanisme de safety, est d'intégrer une analyse des signaux pour détecter soit une réponse qui laisse entendre une failure, soit une absence de réponse. Ces signaux d'erreurs, sont finalement symptomatiques des fautes qui sont l'origine du problème. L'idéal est de pouvoir remonter à partir d'un signal d'erreur, directement à l'origine de la faute. 

On distingue plusieurs propriétés qui permettent d'assurer la sécurité et la sureté de fonctionnement d'un système : 

- Disponibilité
- Fiabilité
- Safety
- Confidentialité
- Intégrité
- Réparabilité

# Méthodes de tests

A partir de l'identification des fautes hard et soft on peut avoir deux approches : 

- Déterministe, ou l'on sélectionne les entreées
- Probabliste

# Représentation Markovienne

On peut représenter l'état d'un système via une chaine de markov qui repose sur la probabilité de tel ou tel composant de lacher. 

Certains systèmes n'ont en effet pas besoin d'être 100% fonctionnels pour fournir la QoS attendue. 