• Aucun résultat trouvé

2.3 Autres m´ ethodes de diagnostic

2.3.2 Diagnostic avec ASP

Si le model-checking est une premi`ere voie pour r´eduire la complexit´e, une m´ethode duale repose sur une repr´esentation logique avec l’usage des techniques de satisfiabilit´e propositionnelle (SAT) [RG07] [GA08]. Ce travail a ´et´e r´ealis´e dans le cadre du stage de Master 1 de Fran¸cois Laferri`ere que j’ai co-encadr´e avec Lau-rence Roz´e.

La technique suit le mˆeme principe qu’avec le model-checking : la recherche de chemin est transform´ee en une formule propositionnelle satisfiable si et seulement si un chemin existe. L’occasion s’est pr´esent´ee d’´evaluer l’efficacit´e du paradigme Answer Set Programming (ASP) par rapport `a celui de SAT pour la recherche du diagnostic : Torsten Schaub chercheur en logique de l’universit´e de Postdam a ´

et´e accueilli, dans le cadre d’une chaire INRIA, dans l’´equipe Lacodam de 2014 `a 2018. Il a d´evelopp´e un solveur ASP appel´e clingo [GKK+11].

Cette ´etude s’appuie sur un travail d’Alban Grastien (aujourd’hui chercheur `a l’universit´e de Canberra en Australie) qui propose une m´ethode de diagnostic `a l’aide de SAT [GA13]. Answer Set Programming est une forme de programmation d´eclarative par contraintes bas´ee sur une logique non monotone utilis´ee pour la repr´esentation des connaissances, le raisonnement et la r´esolution de probl`emes d´eclaratifs. La mod´elisation du syst`eme qui correspond au fonctionnement d’un ensemble d’automates communicants peut s’exprimer par des pr´edicats logiques qui permettent de repr´esenter des composants, les connexions entre ces composants et les r`egles de transitions (´etat de d´epart, ´ev´enement d´eclencheur, ´etat terminal, ´

ev´enements g´en´er´es).

Prenons le composant (1,1) qui passe de l’´etat normal (n) `a (f) s’il re¸coit un ´

ev´enement de faute de la part du composant (1,0) et d´eclenche alors un reboot. La repr´esentation en ASP de cette transition est la suivante :

edge((comp(1,1),2), state(comp(1,1), n), event(comp(1,0), fault), event(comp(1,1), reb), state(comp(1,1), f)).

Nous avons consid´er´e trois types d’observations : les observations dat´ees (la date de l’observation est connue pr´ecis´ement), les observations partiellement ordonn´ees (l’ordre des observations est connu mais pas leur date d’occurrence exacte), les observations partiellement ordonn´ees (l’ordre total n’est pas connu, pour chaque observation seules quelques observations la pr´ec´edant sont indiqu´ees) (cf. table 2.1 pour leur repr´esentation en ASP).

Contrairement aux automates temporis´es qui g`erent de mani`ere efficace et transparentes les horloges, nous sommes ici contraints de simuler le pas de temps

obs(event(comp(0,1),back),6) Observation dat´ee

Le second argument d´efinit le pas de temps obs(event(comp(0,1),reb),1) Observations ordonn´ees

obs(event(comp(2,1),reb),2) Le second argument d´efinit l’ordre obs(event(comp(0,1),back),3)

obs(event(comp(2,1),back),1) Observations partiellement ordonn´ees

precede(1,4) Le second argument d´efinit un indice

obs(event(comp(0,0),reb),2) N´ecessit´e d’un pr´edicat precede

obs(event(comp(0,3),reb),3) D´efinit un ordre entre deux observations precede(3,2)

precede(3,4)

obs(event(comp(2,1),reb),4)

Table 2.1 – Repr´esentation des trois types d’observations en ASP

`

a l’aide de pr´edicats. Le diagnostic s’effectue alors en quatre ´etapes : l’initialisa-tion, le choix des ´ev´enements, la propagation des ´ev´enements et l’inertie (qui fait ´evoluer le temps au sein d’un composant dont l’´etat reste inchang´e) et enfin la v´erification de la satisfaction des contraintes. Trois algorithmes diff´erents ont ´et´e n´ecessaires afin de traiter les diff´erents types d’observation. Si les r´esultats sur les observations dat´ees sont bien meilleurs que pour la solution SAT, le probl`eme de la gestion temporelle simul´ee complexifie de mani`ere exponentielle les calculs pour les deux autres types de jeux d’observations [Laf16]. G´en´erer l’ensemble des chemins possibles est extrˆemement rapide en ASP mais les ´eliminer s’ils ne correspondent pas `a l’ordre des observations est une op´eration plus complexe difficilement soluble. ASP est un langage de haut-niveau qui permet de d´efinir ais´ement le probl`eme sous une forme logique, cependant notre exp´erience, comme d’autres, montrent ses li-mites pour repr´esenter et raisonner sur des syst`emes dynamiques. Des travaux tr`es r´ecents de l’´equipe de Torsten Schaub proposent une extension temporelle d’ASP impl´ement´ee dans un solveur Telingo [CKMS19] offrant des op´erateurs temporels qui pourraient r´esoudre notre probl`eme d’expression des observations partiellement ordonn´ees et ouvre donc des perspectives `a ce travail.

Bilan sur le diagnostic par model-checking et solveur logique

La principale motivation de ces travaux ´etaient de tirer partie de la repr´esentation symbolique associ´ee `a des algorithmes efficaces pour pallier au probl`eme de com-binatoire du diagnostic. Nos travaux sur le diagnostic `a l’aide de model-checking sont aujourd’hui pr´esent´es comme faisant partie des pr´ecurseurs du diagnostic par model-checking [BM15]. L’usage des solveurs logiques comme SAT ou ASP, plus r´ecents, permet un cadre unifi´e et une d´eclarativit´e int´eressante pour les

inter-actions complexes entre ´etats ou composants. La repr´esentation temporelle reste cependant encore difficile `a g´erer pour la repr´esentation des syst`emes dynamiques, alourdit les d´eclarations, bride la r´esolution et donc l’efficacit´e des solveurs. R´ecemment, la diagnosticabilit´e par model-checking [Gra09] a fait l’objet d’´etudes plus nombreuses que le diagnostic lui-mˆeme, variant les techniques de v´erification et les logiques temporelles. G´en´eralement la d´efinition de la diagnosticabilit´e `a ´et´e simplifi´ee par rapport `a celle donn´ee par Sampath afin de la r´eduire `a une propri´et´e d’atteignabilit´e sur un mod`ele synchronis´e avec lui-mˆeme par la technique du twin plant [Gra09]. Plus r´ecemment des travaux ont ´et´e men´es sur des r´eseaux de Petri [BPDT17], les auteurs s’int´eressant `a la k-diagnosticabilit´e. Tous ces travaux par-tagent le mˆeme probl`eme : la diagnosticabilit´e d’une seule faute sur le syst`eme. Des auteurs ont ´etendu la notion de faute `a celle de pattern. Le pattern est d´efini par une sp´ecification en logique temporelle sur un automate, et la panne comme un comportement qui n’a pas de correspondance avec le pattern. Gougam et al. [GPS17] propose une m´ethode permettant de v´erifier la diagnosticabilit´e `a l’aide de pattern d´ecrivant des comportements d’int´erˆet, normaux ou anormaux `a l’aide de r´eseaux de Petri puis d’utiliser des m´ethodes de model-checking pour tester un syst`eme-pattern.

Les techniques de model-checking sont efficaces lorsque les m´ethodes ´enum´eratives atteignent leur limite mais leur r´eponse binaire n’est pas toujours suffisante en terme d’interpr´etabilit´e et d’explication lorsque l’on se place dans un contexte d’aide `a la d´ecision. Dans la contribution sur le diagnostic, nous les avons en-glob´e dans un algorithme qui traite au fil de l’eau les observations et construit les trajectoires du syst`eme expliquant les observations. Les perspectives de ce tra-vail seraient d’´etendre le principe `a des syst`emes plus complexes en particulier en levant l’hypoth`ese consid´erant que toutes les transitions sont observables ou en consid´erant les situations de pannes multiples. Ces id´ees restent des sujets d’int´erˆet dans le cadre des m´ethodes g´en´eralistes du diagnostic, mais les circonstances m’ont amen´ees `a adapter ces approches en partant des applications, dans le domaine de l’agro-´ecologie.

Chapitre 3

Model-checking pour la gestion

des ´ecosyst`emes

Sommaire

3.1 Enjeu . . . 60 3.2 Mod´elisation qualitative des ´ecosyst`emes . . . 60 3.3 Probl´ematique . . . 62 3.4 Framework de mod´elisation . . . 63 3.4.1 Mod´elisation par automates temporis´es . . . 63 3.4.2 G´en´eration automatique du mod`ele d’automates . . . . 66 3.4.3 L’´ecosyst`eme marin du lagon d’Ouv´ea . . . 69 3.5 Requˆetes pr´edictives what-if ? par model-checking . . . 72 3.5.1 Patrons de requˆetes . . . 72 3.5.2 Logiciel EcoMata . . . 75 3.5.3 Exp´erimentations . . . 76 3.5.4 Bilan sur l’exploration de mod`eles par des sc´enarios pr´edictifs 77 3.6 Requˆetes proactives what-for ? par synth`ese de contrˆoleur 79

3.6.1 Automate temporis´e de jeu et `a coˆuts . . . 79 3.6.2 Synth`ese de contrˆoleur . . . 81 3.6.3 Planification de strat´egies . . . 83 3.7 Int´egration de facteurs socio-´economiques . . . 85 3.8 Conclusion . . . 88

3.1 Enjeu

Avec l’´emergence du d´eveloppement durable, le soucis de r´eduire la pression sur les ressources environnementales a n´ecessit´e la prise en consid´eration des activit´es humaines sur les syst`emes biologiques. L’aide `a la d´ecision d´edi´ee auparavant aux syst`emes physiques, industriels ou processus d’entreprise, s’est donc tout naturelle-ment trouv´e un nouveau champ d’application, les syst`emes naturels (´ecosyst`emes, exploitations agricoles, territoires, etc.). Les principes ´evoqu´es plus haut se re-trouvent ˆetre les mˆemes : pr´edire, expliquer, ´evaluer l’impact d’une d´ecision, aider au choix des d´ecisions. Cependant, les syst`emes naturels sont des syst`emes com-plexes qui comportent des caract´eristiques tr`es sp´ecifiques :

— Ils sont constitu´es d’un grand nombre d’´el´ements de diff´erentes natures (les organismes biologiques, l’environnement, les activit´es humaines, etc.). — Ces ´el´ements sont en interaction permanente selon des relations pas toujours

bien connues.

— Le comportement du syst`eme est fortement non-lin´eaire.

— Le syst`eme est difficile `a d´elimiter. La granularit´e temporelle et spatiale doit ˆ

etre ´elargie pour int´egrer tous les ´el´ements n´ecessaires mais suffisamment pr´ecise pour r´epondre au besoin sp´ecifique des gestionnaires.

— Les donn´ees disponibles sont h´et´erog`enes (num´eriques issues des capteurs ou de mod`eles m´ecanistes tr`es pr´ecis, symboliques pour les connaissances ex-pertes), incompl`etes (certains ´el´ements, relations ou comportements repr´esent´es dans l’´ecosyst`eme ne sont pas encore bien connus), impr´ecises (donn´ees bruit´ees issues des capteurs) et incertaines (les informations peuvent ˆetre approximatives).

Les objectifs de ce travail consistent donc `a proposer une mod´elisation permet-tant de mieux r´epondre aux questions suivantes :

— Comprendre des syst`emes complexes en d´ecrivant les interactions entre les composants biologiques et les activit´es humaines en tenant compte parti-culi`erement de la composante temporelle.

— Aider les gestionnaires `a superviser le syst`eme et `a d´efinir les d´ecisions les plus adapt´ees pour les usagers et les ressources.