Méthodes pour la validation de modèles formels pour la ... - ISAE
Méthodes pour la validation de modèles formels pour la ... - ISAE
Méthodes pour la validation de modèles formels pour la ... - ISAE
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.7 Modélisation d’un sous-système logiciel 91<br />
3.7.2 Caractérisation <strong>de</strong>s comportements<br />
L’i<strong>de</strong>ntification <strong>de</strong>s évènements à propager utilise également <strong>la</strong> spécification fonctionnelle<br />
du composant ainsi que son analyse <strong>de</strong> panne.<br />
– Dans <strong>la</strong> spécification fonctionnelle, nous i<strong>de</strong>ntifions les mo<strong>de</strong>s d’utilisation <strong>de</strong> <strong>la</strong> fonction (si<br />
celle-ci peut être utilisée dans plusieurs configurations par exemple) et les transitions entre<br />
ces mo<strong>de</strong>s.<br />
– Dans les analyses <strong>de</strong> pannes, nous i<strong>de</strong>ntifions les mo<strong>de</strong>s <strong>de</strong> défail<strong>la</strong>nce et les mo<strong>de</strong>s <strong>de</strong><br />
dysfonctionnement <strong>de</strong> <strong>la</strong> fonction.<br />
Concernant ces analyses <strong>de</strong> pannes et dans l’optique d’obtenir un certain niveau d’abstraction<br />
dans notre modèle, différents mo<strong>de</strong>s <strong>de</strong> défail<strong>la</strong>nce génériques peuvent être définis. De [20], nous<br />
tirons <strong>la</strong> liste non exhaustive présentée dans le tableau 3.6.<br />
Défail<strong>la</strong>nces<br />
Effets <strong>de</strong>s défail<strong>la</strong>nces<br />
Défail<strong>la</strong>nces externes traduites par <strong>la</strong> qualité <strong>de</strong>s entrées<br />
• Une entrée est absente, le logiciel n’est pas • Les résultats <strong>de</strong>s calculs dépendant <strong>de</strong><br />
protégé<br />
cette entrée peuvent être incorrects<br />
• Une entrée est incorrecte, le logiciel n’est • Les résultats <strong>de</strong>s calculs dépendant <strong>de</strong><br />
pas protégé<br />
cette entrée peuvent être incorrects<br />
Défail<strong>la</strong>nces induites par une erreur <strong>de</strong> mo<strong>de</strong><br />
• Le mo<strong>de</strong> d’utilisation <strong>de</strong> <strong>la</strong> fonction n’est Les résultats <strong>de</strong>s calculs dépendant du mo<strong>de</strong><br />
pas cohérent avec <strong>la</strong> phase opérationnelle peuvent être incorrects<br />
effective<br />
Défail<strong>la</strong>nce <strong>de</strong> <strong>la</strong> fonction<br />
• La fonction est perdue, aucun calcul n’est • Aucune sortie n’est produite<br />
effectué<br />
• La partie « calcul <strong>de</strong> données » est erronée<br />
Défail<strong>la</strong>nce <strong>de</strong> <strong>la</strong> détection<br />
• La détection est intempestive<br />
• La détection est inefficace ou perdue<br />
• Les sorties sont produites mais sont<br />
incorrectes quelle que soit <strong>la</strong> qualité <strong>de</strong>s<br />
valeurs en entrée<br />
• Quelle que soit <strong>la</strong> situation, une erreur est<br />
signalée<br />
• Quelle que soit <strong>la</strong> situation, aucune erreur<br />
n’est signalée<br />
Tableau 3.6 – Défail<strong>la</strong>nces d’une architecture logicielle et leurs effets [20]<br />
Ensuite, l’utilisation conjointe <strong>de</strong> <strong>la</strong> spécification fonctionnelle (celle-ci nous fournit <strong>la</strong> qualité<br />
<strong>de</strong>s données observées par les dispositifs <strong>de</strong> détection <strong>de</strong> défail<strong>la</strong>nce) et <strong>de</strong> l’analyse <strong>de</strong> panne<br />
(celle-ci nous fournit <strong>la</strong> qualité <strong>de</strong>s données après défail<strong>la</strong>nce), il nous est possible d’i<strong>de</strong>ntifier une<br />
abstraction nous permettant <strong>de</strong> modéliser les propagations <strong>de</strong> panne au sein d’un système logiciel.<br />
En se référant au tableau 3.6, les valeurs abstraites d’une données sont par exemple {correcte,<br />
incorrecte, absente}.<br />
Une fois cette abstraction déterminée, [20] construit <strong>de</strong>s tables <strong>de</strong> décisions <strong>pour</strong> décrire les<br />
calculs en tenant compte <strong>de</strong>s mo<strong>de</strong>s <strong>de</strong> fonctionnement et <strong>de</strong> dysfonctionnement. Ces tables sont<br />
construites <strong>pour</strong> chaque flux <strong>de</strong> sortie du nœud AltaRica et sont <strong>de</strong> <strong>la</strong> forme « si le composant est<br />
dans le mo<strong>de</strong> <strong>de</strong> (dys)fonctionnement X et si les valeurs <strong>de</strong>s flux d’entrées satisfont <strong>la</strong> contraintes<br />
C, alors <strong>la</strong> valeur du flux <strong>de</strong> sortie est Y ». De telles règles peuvent facilement être implémentées<br />
sous <strong>la</strong> forme d’assertions AltaRica.