• Aucun résultat trouvé

– L’incompréhension: l’agent n’arrive pas à comprendre le signal qu’il perçoit. – L’ambiguïté: l’agent attribut plusieurs interprétations pour le signal perçu. 3 A l’étape de décision :

– L’incompétence: le signal perçu n’a pas d’intérêt pour le processus de décision de l’agent.

– L’improductivité: l’agent n’arrive pas à décider de l’action à entreprendre. 3 A l’étape d’action

– La concurrence : l’action de l’agent aura les mêmes conséquences que d’autres agents.

– Le conflit: l’action de l’agent sera antinomique avec les actions d’autres agents. – l’inutilité: l’action de l’agent ne lui permet pas de se rapprocher de son but et ne

sert pas à aider d’autres agents.

1.4

Conclusion

L’objectif de ce chapitre est de décrire le contexte dans lequel se situe nos travaux de recherche et de clarifier les notions utilisées dans la suite de ce manuscrit. Les SMA auto-adaptatifs auxquels nous nous intéressons emploient l’auto-organisation comme moyen pour s’auto-adapter appelés SMA auto-organisateurs.

Notre problématique étant autour de la vérification formelle des SMA auto- organisateurs, le chapitre suivant présente un survol sur les différents travaux traitant cette problématique.

2

État de l'art sur la

vérication/validation des

systèmes auto-adaptatifs

« Dans tous les arts, le plaisir croît avec la connaissance que l’on a d’eux. » Ernest Hemingway

A

VEC l’évolution croissante des systèmes informatiques se manifestant par l’apparition des systèmes à large échelle et les systèmes plongés dans des environnement extrê- mement dynamiques, le développement de systèmes auto-adaptatifs est devenu une piste incontournable.

L’auto-adaptation permet au système d’ajuster son comportement en fonction des changements auxquels il peut se heurter et offre ainsi un moyen de concevoir des systèmes complexes de manière flexible et naturelle. Le développement de ces systèmes est souvent confronté à la problématique de vérification et de validation.

Dans la littérature, cette problématique a été traitée de trois manières différentes : 3 à travers l’évaluation qui consiste à définir des métriques bien particulières permettant

de déterminer jusqu’à quelle mesure le système assure sa fonctionnalité et s’adapte à son environnement,

3 à travers la simulation qui permet d’exécuter le système selon plusieurs scénarios et d’ajuster ces paramètres,

3 à travers la vérification formelle qui se base sur des méthodes formelles. Ces méthodes offrent des techniques, des langages et des outils basés sur les mathématiques pour spécifier et vérifier les systèmes.

Dans ce chapitre, nous dressons un état de l’art couvrant les différents travaux qui ont traité la vérification des systèmes auto-adaptatifs. D’abord, une revue sur les travaux por-

tant sur l’évaluation des systèmes auto-adaptatifs nous a permis de cerner les propriétés pertinentes à cette vérification. Ensuite, un panorama des travaux traitant la simulation et la vérification formelle est dressé.

2.1

Évaluation des systèmes auto-adaptatifs

L’évaluation d’un système repose sur l’identification des propriétés à évaluer et la défi- nition des métriques permettant l’évaluation de ces propriétés. La revue de littérature que nous avons réalisée montre une diversité dans les classifications ainsi que les définitions ac- cordées à ces propriétés. Dans cette section, nous présentons un survol des propriétés des systèmes auto-adaptatifs de manière générale ainsi que certaines métriques utilisées pour les évaluer. Nous concluons par citer les propriétés auxquelles nous nous intéressons dans le cadre de ce travail ainsi que les définitions adoptées.

2.1.1 Identification/classification des propriétés

Plusieurs classifications ont été proposées pour les propriétés des systèmes auto- adaptatifs. Dans [Kaddoum et al., 2010], les propriétés ont été identifiées selon le niveau considéré dans le développement du système. Ainsi, Kaddoum et al distinguent des proprié- tés d’ordre méthodologique, celles d’ordre architectural et les propriétés relatives à l’exécu- tion. Dans [Villegas et al., 2011], les propriétés ont été classées selon qu’elles se réfèrent au gestionnaire de l’adaptation (Observateur/controleur) ou bien au système géré (système sous contrôle) (voir la section 1.1 du chapitre 1). Les principales propriétés identifiées sont citées dans la suite de cette section.

La performance du système ([Kaddoum et al., 2010]) La performance du système ren- seigne sur sa capacité à atteindre son objectif. Elle est mesurée en calculant la variation entre le temps de réponse du système sans utiliser ses mécanismes d’auto-adaptation et son temps de réponse en utilisant ses mécanismes d’auto-adaptation pour assurer la même fonctionnalité. La performance est aussi mesurée en fonction du degré de pro- gression du système vers son but et comment cette progression est influencée par les mécanismes d’auto-adaptation.

La robustesse ([Kaddoum et al., 2010], [Serugendo, 2009], [Villegas et al., 2011])

Kaddoum et al définissent la robustesse comme la capacité du système à mainte- nir son fonctionnement malgré les perturbations. Dans [Villegas et al., 2011], cette propriété est liée au gestionnaire d’adaptation et elle renseigne sur sa capacité à opérer même dans des conditions imprévues à l’avance. Serugendo ([Serugendo, 2009]) donne une définition plus précise dans le cadre des systèmes auto-organisateurs en définissant quatre différents attributs pour qualifier la robustesse.

3 la convergence : renseigne sur la capacité du système à atteindre l’objectif pour lequel il a été conçu,

2.1. Évaluation des systèmes auto-adaptatifs

3 la rapidité de convergence,

3 le passage à l’échelle : montre l’impact du nombre d’agent sur le système.

La résilience ([Bankes, 2010] [Serugendo, 2009] Comme définie dans [Bankes, 2010], la ré- silience indique la capacité du système à se remettre des perturbations extérieures lorsque la robustesse n’est plus garantie. Les mécanismes de résilience fournissent la capacité d’adaptation et permettent de progresser vers la robustesse en mode dégradé. L’homéostasie [Kaddoum et al., 2010] ou stabilité [Villegas et al., 2011] L’homéostasie est la capacité du système à regagner son comportement nominal après une perturbation. Cette capacité est évaluée par la durée nécessaire pour s’auto-adapter aussi bien au ni- veau d’un agent qu’au niveau du système. Dans [Villegas et al., 2011], la stabilité désigne la capacité du processus d’adaptation à converger vers les objectifs du contrôle.

La consistance [Villegas et al., 2011] La consistance a pour but de garantir l’intégralité, en l’occurence l’intégralité structurelle du système géré après une opération d’adaptation. Le passage à l’échelle [Villegas et al., 2011] Cette propriété indique la capacité du gestion- naire d’adaptation à maintenir sa performance face à la croissance des demandes pour lesquelles il est sollicité.

L’objectif de l’identification et la définition des propriétés des systèmes auto-adaptatifs est de trouver les métriques adéquates permettant de les mesurer. Dans la section suivante, nous citons quelques une de ces métriques.

2.1.2 Les métriques pour évaluer les propriétés

Dans cette section, nous présentons quelques métriques utilisées pour évaluer les pro- priétés des systèmes auto-adaptatifs.

La mesure d’entropie Cette métrique prend ses origines de l’entropie de Shannon de la théorie de l’information [Shannon, 1948].

E= −∑

N

n(pn) ∗logpn

logN (2.1)

Dans cette équation, pndénote la probabilité que l’état n parmi N états soit atteint. Le quotient par log N sert à normaliser la valeur de E dans l’intervalle[0, 1]. Une entropie proche de 1 indique des probabilités égales. Cette mesure est utile lorsqu’il est possible de décrire les propriétés à vérifier en termes d’états avec leurs probabilités correspon- dantes et lorsque la mesure d’égalité ou d’inégalité de probabilité est signifiante. Dans [De Wolf et Holvoet, 2007], cette métrique a été utilisée pour mesurer le degré de distribution spatiale de robots dans un bâtiment contenant des objets dispersés dans plusieurs zones. Le but a été de vérifier que les robots sont capables d’atteindre toutes les zones pour collecter tous les objets. Dans ce cas, chaque zone est caractérisée par un état dans lequel elle contient un robot ou pas et la probabilité pn représente la

probabilité de trouver un robot sur une zone.

Dans [Guerin et Kunkle, 2004], la mesure d’entropie a été utilisée pour calculer "l’ignorance" d’une fourmi se déplaçant sur une grille à la recherche de nourriture. Dans ce contexte l’ignorance représente le degré de liberté de déplacement. Ainsi, si la fourmi ne perçoit aucun gradient de phéromone, elle est complètement ignorante et son entropie vaut 1. Par contre, si la fourmi a une seule alternative pour se déplacer, son ignorance est nulle. Dans ce cas, pn est la probabilité de déplacement vers la position n et N est le nombre total de positions vers lesquelles la fourmi est susceptible de se déplacer. L’ignorance de la colonie de fourmis est mesurée en faisant la moyenne des ignorances de toutes les fourmis.

L’exposant de Lyapunov Cette métrique est originaire de la théorie du chaos [cha] et me- sure le degré de sensibilité du comportement du système aux changements effectués dans les conditions initiales de son exécution [De Wolf et Holvoet, 2007]. Elle sert à renseigner sur la stabilité et la robustesse du système.

La moyenne En faisant la moyenne de la durée nécessaire au système de s’auto-adapter, il est possible de mesurer la robustesse du gestionnaire d’adaptation [Villegas et al., 2011]. La distance Cette métrique est utilisée dans [Kaddoum et al., 2010] pour mesurer la varia- tion entre l’état du système avant et après une perturbation et déterminer sa robustesse.

2.1.3 Bilan sur l’évaluation à l’aide des métriques

A partir de ces travaux sur l’évaluation des systèmes auto-adaptatifs, nous avons pu identifier les propriétés pertinentes de ces systèmes. Dans le cadre de ce travail nous consi- dérons deux propriétés à vérifier formellement pour les SMA auto-organisateurs :

3 la convergence définie par la capacité du système à atteindre un état fonctionnellement adéquat et

3 la résilience qui détermine la capacité des mécanismes d’auto-organisation à ramener le système dans un état fonctionnellement adéquat après perturbations.