12.07.2015 Views

osiris : une architecture multi-agent de couplage de processus ...

osiris : une architecture multi-agent de couplage de processus ...

osiris : une architecture multi-agent de couplage de processus ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3 e Conférence Francophone <strong>de</strong> MOdélisation et SIMulation «Conception, Analyse et Gestion <strong>de</strong>s Systèmes Industriels »MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)OSIRIS : UNE ARCHITECTURE MULTI-AGENT DE COUPLAGE DEPROCESSUS PHYSIQUES POUR SIMULER LE FONCTIONNEMENTHYDRO-SALIN D’UNE RÉGION IRRIGUÉEE<strong>de</strong>m Fianyo, Jean-Pierre TreuilIRD - UR GEODES32, avenue Henri Varagnat,93143 Bondy ce<strong>de</strong>xMél :{fianyo, treuil}@bondy.ird.frYves DemazeauLab. LEIBNIZ – Institut IMAG46, avenue Felix Viallet,38000 GrenobleMél : Yves.Demazeau@imag.frSuzanne PinsonUniversité Paris IX – DauphineLAMSADEPl. du Mal <strong>de</strong> Lattre <strong>de</strong> TassignyMél : pinson@lamsa<strong>de</strong>.dauphine.frRÉSUMÉ : Le système OSIRIS (Outil <strong>de</strong> Simulation et d'Intégration <strong>de</strong> <strong>processus</strong> physiques pour l'étu<strong>de</strong> d'<strong>une</strong> RégionIrriguée du Sénégal) a pour objectif <strong>de</strong> permettre le <strong>couplage</strong> dynamique <strong>de</strong> modèles conçus indépendamment. Lecontexte d'application <strong>de</strong> ce travail est la modélisation <strong>de</strong> l'évolution saline d'<strong>une</strong> région irriguée (région du Ngalenkaau Nord - Sénégal) par l'intégration <strong>de</strong>s modèles <strong>de</strong>s <strong>processus</strong> physiques qui entrent en jeu dans le phénomène <strong>de</strong>salinisation (irrigation, infiltration, percolation, évapotranspiration, etc.). L'idée mise en œuvre consiste à proposer<strong>une</strong> démarche <strong>de</strong> <strong>couplage</strong> permettant à l'utilisateur d'un tel outil la construction d'<strong>une</strong> vision spécifique <strong>de</strong> son mon<strong>de</strong>sur laquelle il peut greffer les différents modèles. L'intégration se fait sur <strong>de</strong>ux points : <strong>une</strong> synchronisation temporelleentre <strong>processus</strong> est réalisée par l'utilisation <strong>de</strong> contrôleurs <strong>de</strong> temps ; l'interface entre les paramètres <strong>de</strong>s modèles <strong>de</strong><strong>processus</strong> et les entités représentant la vision du mon<strong>de</strong> simulé, est réalisée par l'utilisation <strong>de</strong> fonctions <strong>de</strong>correspondance. Il est possible <strong>de</strong> définir pour chaque <strong>processus</strong> <strong>de</strong>s règles <strong>de</strong> contrôle. Ces règles vont être vérifiéesdynamiquement au cours <strong>de</strong> la simulation par <strong>de</strong>s <strong>agent</strong>s <strong>de</strong> contrôle qui ont également pour rôle d'adapter au contextecourant le comportement du modèle <strong>de</strong> <strong>processus</strong> auquel chacun est associé.MOTS-CLÉS : système <strong>multi</strong>-<strong>agent</strong>, simulation, <strong>couplage</strong> <strong>de</strong> modèles.1. INTRODUCTIONLe <strong>couplage</strong> <strong>de</strong> modèles est <strong>une</strong> démarche qui est souventenvisagée lorsque l'on se trouve confronté à <strong>une</strong> questioncomplexe ou globale qui a fait l'objet <strong>de</strong> plusieursréponses partielles que l'on souhaite rassembler. C'est lecas <strong>de</strong> nombreux problèmes posés en écologie (prévisionclimatique, étu<strong>de</strong> <strong>de</strong> pollution, etc.). Une démarche <strong>de</strong><strong>couplage</strong> se fait classiquement <strong>de</strong> <strong>de</strong>ux façons. Lapremière métho<strong>de</strong> consiste à construire un super modèledans lequel on va fondre les modèles <strong>de</strong> départ, modifiésau besoin pour éviter d'éventuelles incompatibilités etplus généralement pour résoudre le problème <strong>de</strong> lacorrespondance entre données manipulées. On parle dansce cas <strong>de</strong> <strong>couplage</strong> fort (Pouliot, 1999). La secon<strong>de</strong>métho<strong>de</strong> (on parle alors <strong>de</strong> <strong>couplage</strong> faible), consiste àcréer un outil d'interface qui va dialoguer avec chacun <strong>de</strong>smodèles et qui va se charger <strong>de</strong> tout le travail <strong>de</strong>correspondance entre données et entre traitements. Unetelle forme <strong>de</strong> <strong>couplage</strong> présente l'avantage <strong>de</strong> laisserintacts les modèles <strong>de</strong> départ, dont l'<strong>architecture</strong> internen'a pas à être connue, et dont l'utilisation a déjà étévalidée auparavant. Les modèles <strong>de</strong> départ peuvent parailleurs ne pas être obligatoirement développés sur lamême plate-forme. Dans notre problématique, lesmodèles que l'on veut assembler ont été développés <strong>de</strong>façon indépendante par <strong>de</strong>s spécialistes provenant <strong>de</strong>disciplines différentes. De plus on souhaite disposer d'unoutil d'interface assez souple permettant l'ajout ultérieur<strong>de</strong> modèles non prévus au départ. Pour satisfaire lescontraintes <strong>de</strong> ce problème, nous proposons <strong>une</strong><strong>architecture</strong> <strong>multi</strong>-<strong>agent</strong> <strong>de</strong> <strong>couplage</strong> <strong>de</strong> modèles.2. CONTEXTE D'APPLICATIONLe point <strong>de</strong> départ <strong>de</strong> ce travail concerne l'étu<strong>de</strong> <strong>de</strong> lasalinité dans <strong>une</strong> région irriguée du Nord-Sénégal. Lapratique <strong>de</strong> l'irrigation, employée dans la plupart <strong>de</strong>spays sahéliens où les conditions écologiques(irrégularités <strong>de</strong>s pluies) sont instables, présente <strong>de</strong>srisques pour le milieu. On constate notamment <strong>de</strong>sdégradations salines (accumulation <strong>de</strong> sels solubles) etalcalines (accumulation <strong>de</strong> bases faibles) qui peuventconduire à rendre le sol complètement inexploitable pourles cultures. De nombreuses étu<strong>de</strong>s ont été menées sur cesujet. Mais elles ont généralement été conduites selon unpoint <strong>de</strong> vue spécifique (pédologique, hydrologique,agronomique) et ont souvent abouti à <strong>une</strong> appréhensionpartielle du risque <strong>de</strong> salinisation et parfois à <strong>une</strong> sousestimation<strong>de</strong> ce risque (Boivin, 1997). Un <strong>processus</strong> <strong>de</strong>salinisation fait en effet intervenir différents <strong>processus</strong>physiques tels qu'on peut les schématiser sur la figure 1,chacun <strong>de</strong> ces <strong>processus</strong> physique relevant d'un domaineparticulier : l'agronome s'intéresse à la modélisation <strong>de</strong>l'évapotranspiration <strong>de</strong>s plantes alors que la percolationrelève du domaine d'intérêt <strong>de</strong> l'hydrologue. La mise enroute d'un nouveau projet d'irrigation dans le secteurNgalenka amont (département <strong>de</strong> Podor, au nord duSénégal) a relancé l'intérêt d'<strong>une</strong> mise en commun <strong>de</strong>toutes les connaissances acquises sur les <strong>processus</strong>physiques qui entrent en jeu dans un phénomène <strong>de</strong>salinisation.


MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)IrrigationEvapo-transpirationImbibitionPercolationNAPPEPluieDrainageFigure 1. Processus physiques influençant le phénomène<strong>de</strong> salinisation3. COUPLER DES MODÈLES POUR MIEUXÉTUDIER L’ENVIRONNEMENTLa reconnaissance croissante du caractère complexe <strong>de</strong>la maîtrise <strong>de</strong>s questions environnementales (Stengel etGelin, 1998) ainsi que l’acceptation <strong>de</strong> l’idée selonlaquelle « la science est un tout » (Omnès, 1994) aconduit au développement <strong>de</strong>s étu<strong>de</strong>s pluridisciplinaireset à la construction <strong>de</strong> modèles intégrant le savoir <strong>de</strong>différentes disciplines. On peut citer pour exemple, leprojet MOPA (Lefur et Bommel, 1998) d’étu<strong>de</strong> d’unsystème <strong>de</strong> pêche où les auteurs ont réalisés un <strong>couplage</strong>d’un modèle halieutique décrivant la dynamique d’<strong>une</strong>ressource marine (un stock <strong>de</strong> sardinelles) avec unmodèle socio-économique représentant le comportement<strong>de</strong>s communautés actives (pêcheurs et mareyeursartisans). La communication entre les <strong>de</strong>ux modèless’effectue par l’intermédiaire d’<strong>une</strong> variable comm<strong>une</strong>,le stock <strong>de</strong> poisson variant en fonction <strong>de</strong> l’action <strong>de</strong> lapêche et <strong>de</strong> l’action <strong>de</strong> la dynamique <strong>de</strong> la ressource.Belouze (Belouze, 1996) dans <strong>une</strong> approche intégrée <strong>de</strong>compréhension d’un système irrigué a couplé troismodèles : un modèle <strong>de</strong> simulation hydraulique <strong>de</strong>transport <strong>de</strong> l’eau, un modèle micro-économiquedéterminant les décisions <strong>de</strong>s agriculteurs concernant lagestion d’<strong>une</strong> parcelle irriguée en fonction <strong>de</strong> différentescontraintes et un modèle hydrodynamique du transportd’eau et <strong>de</strong> sel dans le sol. Le modèle intégré ayant étéconstruit avec le logiciel Matlab et son interfacegraphique Simulink qui considère un modèle comme <strong>une</strong>boite noire munie d’inport et d’outports, les modèles <strong>de</strong>départ ont été reliés <strong>de</strong>ux à <strong>de</strong>ux, après avoir étésimplifiés pour permettre leur adaptation temporelle.La démarche <strong>de</strong> <strong>couplage</strong> retenue dans ces <strong>de</strong>uxexemples est la démarche classique adoptée enenvironnement. Cependant, comme le souligne Maxwell(Maxwell, 1998), elle implique que le modélisateur quiveut coupler <strong>de</strong>s modèles possè<strong>de</strong> la capacité <strong>de</strong>comprendre et <strong>de</strong> manipuler <strong>de</strong>s concepts souventcomplexes n’appartenant pas à son propre domaine <strong>de</strong>compétence. Maxwell note également que la structure<strong>de</strong>s modèles complexes caractérisés par <strong>de</strong>s interactionsentre <strong>multi</strong>ples composants est très souvent malexplicitée, ce qui limite la compréhension <strong>de</strong> cesmodèles par les utilisateurs et leur capacité à êtreréutilisés dans <strong>de</strong>s opérations d’intégration. C’est pourdépasser ces limites qu’<strong>une</strong> plate-forme <strong>de</strong> simulation aété proposée dans le cadre <strong>de</strong> la construction d’un outild’étu<strong>de</strong> intégrant les aspects économiques et écologiques<strong>de</strong> la région Patuxent (Maryland, USA). Le modèle PLM(Patuxent Landscape Mo<strong>de</strong>l) a été conçu pour étudier lesinteractions entre les dynamiques physiques etbiologiques <strong>de</strong> la région du Patuxent, conditionnées parle comportement socio-économique <strong>de</strong> la région (Voinovet al., 1999). Le <strong>couplage</strong> du modèle écologique et dumodèle socioéconomique a été réalisé par l’intermédiaired’<strong>une</strong> représentation spatiale <strong>de</strong> la région d’étu<strong>de</strong> sousforme <strong>de</strong> grille, chaque maille <strong>de</strong> la grille présentant <strong>une</strong>homogénéité et un niveau <strong>de</strong> détail permettant aux <strong>de</strong>uxmodèles <strong>de</strong> se communiquer directement <strong>de</strong>sinformations <strong>de</strong> calcul sans transformationsupplémentaire. Une unité du modèle (qui représente enfait l’ensemble du modèle couplé) est appliquée surchaque maille <strong>de</strong> la grille spatiale, avec <strong>de</strong>s donnéesdifférant en fonction <strong>de</strong> la maille considérée. Cette unité<strong>de</strong> modèle est le résultat <strong>de</strong> l’opération <strong>de</strong> <strong>couplage</strong>effectuée avec l’outil GEM - General Ecosystem Mo<strong>de</strong>l(Fitz et al., 1996). Cet outil logiciel permet <strong>de</strong> connecterdifférents modèles conçus indépendamment dès lorsqu’ils peuvent être manipulés par le logiciel <strong>de</strong>simulation STELLA. L’environnement spatial <strong>de</strong>modélisation SME (Maxwell et Costanza, 1995) associéau langage <strong>de</strong> modélisation modulaire MML (Maxwellet Costanza, 1997) proposés par Maxwell et Costanza,s’appuyant sur ces différents outils présente alorsl’intérêt certain d’offrir au modélisateur un cadre <strong>de</strong>visualisation graphique facilitant <strong>de</strong> <strong>couplage</strong> <strong>de</strong>modèles. L’intégration <strong>de</strong> modèles s’effectue via lamanipulation d’icônes représentant chacun <strong>de</strong>s modèlesque l’on veut coupler. L’application du modèle intégrépeut être réalisée par l’utilisation d’un systèmed’information géographique (SIG), chaqueenregistrement <strong>de</strong> la base <strong>de</strong> donnée spatiale étantassociée à <strong>une</strong> unité <strong>de</strong> modèle ce qui favorise <strong>une</strong> rapi<strong>de</strong>compréhension <strong>de</strong>s résultats <strong>de</strong> la simulation. Cependantcette solution présente l’inconvénient <strong>de</strong> ne permettreque le <strong>couplage</strong> <strong>de</strong> modèles réalisés graphiquement. Celaexclut un grand nombre <strong>de</strong> modèles ne bénéficiant pasd’<strong>une</strong> interface leur permettant d’être manipulés par unlogiciel <strong>de</strong> simulation graphique. Par ailleurs,l’application <strong>de</strong> l’ensemble du modèle intégré à chaquemaille d’<strong>une</strong> grille spatiale, si elle permet <strong>une</strong> meilleurevisibilité <strong>de</strong>s résultats (on obtient <strong>de</strong> fait un SIGdynamique), contraint très fortement la forme du modèleintégré qui doit pouvoir être appliqué à partir <strong>de</strong>sdonnées <strong>de</strong> chaque maille sans modificationsupplémentaire. De plus, cette application systématique àtoutes les mailles <strong>de</strong> la grille est coûteuse en temps <strong>de</strong>calcul.Dans la construction du système OSIRIS, notre objectif aégalement été la construction d’un outil <strong>de</strong> <strong>couplage</strong> quifacilite la manipulation <strong>de</strong>s modèles <strong>de</strong> départ par


MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)l’utilisation d’<strong>une</strong> interface. Cependant, au contraire dusystème PLM, la démarche d’intégration est réalisée parl’application indépendante <strong>de</strong> chaque modèle sur unmon<strong>de</strong> simulé construit par l’utilisateur.4. LE SYSTÈME OSIRISL'outil OSIRIS (Outil <strong>de</strong> Simulation et d'intégration <strong>de</strong><strong>processus</strong> physiques pour l'étu<strong>de</strong> d'<strong>une</strong> Région Irriguéedu Sénégal) est l'aboutissement et le support <strong>de</strong>sréflexions qui ont été menées dans le cadre <strong>de</strong> notretravail <strong>de</strong> thèse. L'objectif général a été, au-<strong>de</strong>là du castraité, <strong>de</strong> concevoir un outil suffisamment souple pourautoriser l'incorporation incrémentale <strong>de</strong> modèles <strong>de</strong><strong>processus</strong> potentiellement intéressants, non prévus audépart.Il s'agit donc d'<strong>une</strong> contribution aux travaux sur le<strong>couplage</strong> en modélisation, qui en plus <strong>de</strong> la réalisationd'<strong>une</strong> interconnexion <strong>de</strong> modèles, propose <strong>une</strong> démarcheque nous pensons être originale.De façon plus concrète, OSIRIS est un système <strong>multi</strong><strong>agent</strong>distribué permettant <strong>de</strong> contrôler <strong>de</strong>s co<strong>de</strong>snumériques s'exécutant dans <strong>de</strong>s environnements(machines, systèmes d'exploitation) différents.4.1. Architecture interneLa plate-forme OSIRIS est construite à partir <strong>de</strong>différents concepts : on distingue dans le système lesentités, les <strong>processus</strong>, ainsi que les mécanismes <strong>de</strong>contrôle qui assurent l'intégration. Ces concepts sontexplicités dans les paragraphes suivants.4.1.1. Les entitésLe mon<strong>de</strong> est décrit sous forme d'entités dans OSIRIS. Ily a différentes sortes d'entités : les entités spatiales quibénéficient d'<strong>une</strong> représentation graphique, les entitésactives qui peuvent déclencher <strong>de</strong>s <strong>processus</strong> et lesautres entités qualifiées d'ordinaires qui sont simplementle réceptacle d'informations utiles pour l'application.Entité spatialeUne entité spatiale est un objet du mon<strong>de</strong>, pertinent pourle système, disposant <strong>de</strong> coordonnées géographiques. Parexemple : un périmètre, <strong>une</strong> nappe, etc. Une entitéspatiale est pertinente pour le système si elle permet <strong>de</strong>représenter l'effet <strong>de</strong>s <strong>processus</strong> que l'on veut voir agir.Entité activeLes entités actives sont caractérisées par leur autonomie<strong>de</strong> fonctionnement. De telles entités possè<strong>de</strong>nt lacapacité <strong>de</strong> déclencher et d'arrêter un <strong>processus</strong> donné.Les acteurs humains comme les exploitants sontreprésentés dans le système par <strong>de</strong>s entités actives.Entité ordinaireUne entité ordinaire est un utilitaire. Ce type d'entité necorrespond pas obligatoirement à un objet existant dansle mon<strong>de</strong> simulé, mais son existence facilite lamanipulation du système. On peut classer dans cettecatégorie les séries historiques comme par exemple lecalendrier cultural.4.1.2. Les <strong>processus</strong>La notion <strong>de</strong> <strong>processus</strong> dans le système OSIRIS réfère àla définition donnée en écologie. Un <strong>processus</strong> (Blon<strong>de</strong>l,1995) est défini comme la <strong>de</strong>scription dans l'espace etdans le temps <strong>de</strong> l'action d'un phénomène donné et <strong>de</strong>smécanismes <strong>de</strong> cette action. Les <strong>processus</strong> sont étudiéset donnent naissance à divers modèles en fonction <strong>de</strong>sobjectifs recherchés par les modélisateurs. L'action du<strong>processus</strong> percolation consiste à diminuer la teneur eneau <strong>de</strong> la zone du sol non saturée en augmentant enconséquence la hauteur <strong>de</strong> la nappe. Le mécanisme d'untel <strong>processus</strong> est décrit par les lois <strong>de</strong> Darcy. Pour unmême <strong>processus</strong>, on peut trouver plusieurs modèlesfonctionnant à <strong>de</strong>s résolutions d'espace et <strong>de</strong> tempsdifférents.La principale condition nécessaire à la prise en comptepar OSIRIS d'un modèle numérique à coupler est qu'ildoit observer un fonctionnement en mo<strong>de</strong> « batch » :lecture <strong>de</strong>s paramètres d'entrée à partir d'un fichier,écriture <strong>de</strong>s résultats dans un fichier <strong>de</strong> sortie.4.1.3. Les mécanismes d'intégration et <strong>de</strong>contrôleL'interconnexion <strong>de</strong>s modèles se fait par l'intermédiaire<strong>de</strong> <strong>de</strong>ux principaux mécanismes : l'utilisation <strong>de</strong>contrôleurs <strong>de</strong> temps permet <strong>de</strong> synchroniser lesdifférents modèles <strong>de</strong> <strong>processus</strong> qui s'exécutent dans lesystème distribué, tandis que la correspondance entre lesdifférentes vues (paramètres manipulés par les modèles,entités <strong>de</strong> la plate-forme <strong>de</strong> simulation) est pris en chargepar la définition <strong>de</strong> fonctions <strong>de</strong> correspondance. Les<strong>agent</strong>s <strong>de</strong> contrôle qui justifient l'utilisation duqualificatif <strong>multi</strong>-<strong>agent</strong> du système OSIRIS ont pour rôle<strong>de</strong> contrôler dynamiquement l'ensemble.Prendre en compte l'hétérogénéité du temps : lescontrôleurs <strong>de</strong> tempsLes contrôleurs <strong>de</strong> temps ont pour objet la prise encompte explicite du temps <strong>de</strong> la simulation (Fianyo etal., 1998). Dans le système OSIRIS, il n'y a pas <strong>de</strong>définition d'un temps global <strong>de</strong> la simulation. Il existe <strong>une</strong>nsemble <strong>de</strong> contrôleurs <strong>de</strong> temps associés chacun à <strong>une</strong>unité <strong>de</strong> temps donnée qui est utilisée par un <strong>de</strong>s<strong>processus</strong> évoluant dans le système. Les contrôleurs <strong>de</strong>temps sont liés <strong>de</strong>ux à <strong>de</strong>ux par un entier qui exprime lacorrespondance entre les unités <strong>de</strong> temps. Tout <strong>processus</strong>du système est rattaché à un contrôleur <strong>de</strong> temps existantdont la tâche est <strong>de</strong> contrôler la périodicité avec laquellele <strong>processus</strong> s'exécute. Les liens <strong>de</strong> correspondancesentre contrôleurs <strong>de</strong> temps sont modifiables. Il estégalement possible d'insérer <strong>de</strong> nouveaux contrôleurs <strong>de</strong>temps. Le temps simulé est donc flexible.Tenir compte <strong>de</strong> l'hétérogénéité <strong>de</strong>s points <strong>de</strong> vue : lesfonctions <strong>de</strong> correspondanceNous définissons la notion <strong>de</strong> fonction <strong>de</strong>correspondance comme outil <strong>de</strong> prise en compte <strong>de</strong>l'hétérogénéité <strong>de</strong>s points <strong>de</strong> vue. Dans <strong>une</strong> démarche <strong>de</strong>


MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)<strong>couplage</strong>, l'un <strong>de</strong>s principaux problèmes rési<strong>de</strong> dans latraduction entre les différentes types <strong>de</strong> donnéesmanipulés par les modèles. Cette traduction se fait engénéral « en dur » dans le système, en fonction <strong>de</strong>smodèles étudiés. Le concept <strong>de</strong> fonction <strong>de</strong>correspondance permet <strong>de</strong> généraliser cette démarche <strong>de</strong>traduction entre structure <strong>de</strong> données. Pour chaquemodèle <strong>de</strong> <strong>processus</strong> à intégrer dans le système OSIRIS,on associe <strong>une</strong> interface entre les fichiers <strong>de</strong> paramètresd'entrée et <strong>de</strong> sortie correspondant au modèle et lesattributs <strong>de</strong>s différentes entités composant le système.Cette interface permet <strong>de</strong> spécifier la relation existantentre un paramètre et un (ou plusieurs) attribut(s) d'<strong>une</strong>entité du système. Pour les besoins <strong>de</strong> notre application,nous avons défini un certain nombre <strong>de</strong> relations :fonctions i<strong>de</strong>ntité, somme, moyenne. Il est possible <strong>de</strong>rajouter dans le système d'autres relations dans <strong>une</strong>bibliothèque <strong>de</strong> fonctions <strong>de</strong> correspondance.Prendre en compte <strong>de</strong>s dynamiques évolutives : les<strong>agent</strong>s <strong>de</strong> contrôleL'<strong>agent</strong> <strong>de</strong> contrôle est un <strong>de</strong>s concepts clé du systèmeOSIRIS. Il permet le contrôle dynamique <strong>de</strong> l'exécution<strong>de</strong>s modèles numériques du système. Pour chaque<strong>processus</strong>, pour chaque modèle numérique qui lui estassocié, l'utilisateur peut poser <strong>de</strong>s règles <strong>de</strong> contrôle àrespecter. Ces règles sont spécifiées à plusieurs niveaux :il est possible d'établir <strong>de</strong>s règles <strong>de</strong> cohérence relativesaux données du système, afin <strong>de</strong> contrôler que lesrésultats fournis par les modèles n'entraînent pasl'existence <strong>de</strong> valeurs aberrantes. Des règles <strong>de</strong>changement <strong>de</strong> comportement peuvent également êtrespécifiées (par exemple, changement <strong>de</strong> pas <strong>de</strong> temps) enfonction du contexte courant <strong>de</strong> la simulation.L'<strong>agent</strong> <strong>de</strong> contrôle associé à un <strong>processus</strong> vérifiepériodiquement (à chaque tentative <strong>de</strong> modification parle modèle d'un attribut d'<strong>une</strong> entité du système) au cours<strong>de</strong> la simulation, le respect <strong>de</strong> l'ensemble <strong>de</strong>s règles etapplique en cas <strong>de</strong> besoin les actions nécessaires (quiont également été spécifiées par l'utilisateur). Pourl'instant, le type d'action possible est le changement <strong>de</strong> lavaleur d'<strong>une</strong> variable, nous n'avons pas développé <strong>de</strong>mécanisme permettant <strong>de</strong> réaliser <strong>de</strong>s actions pluscomplexes.Les <strong>agent</strong>s <strong>de</strong> contrôle du système sont réalisés à l'ai<strong>de</strong><strong>de</strong> la plate-forme <strong>de</strong> construction d'<strong>agent</strong> Zeus (Collis etNdumu, 1999). L'<strong>architecture</strong> interne <strong>de</strong>s <strong>agent</strong>s <strong>de</strong>contrôle suit donc celle d'un <strong>agent</strong> Zeus. Lesmodifications se font par manipulation <strong>de</strong>s ontologiesZeus, qui correspon<strong>de</strong>nt aux entités du système.Les règles <strong>de</strong> contrôleLes règles <strong>de</strong> contrôle permettent le contrôle dynamique<strong>de</strong>s <strong>processus</strong> au cours <strong>de</strong> la simulation. Les règles <strong>de</strong>contrôle vont être spécifiées au niveau <strong>de</strong> la définitiond’<strong>une</strong> classe <strong>de</strong> <strong>processus</strong>. Une règle <strong>de</strong> contrôleconcerne soit un attribut d’<strong>une</strong> entité cible du <strong>processus</strong>,soit un paramètre d’exécution du <strong>processus</strong>. Lesparamètres d’exécution du <strong>processus</strong> considérés sont lescontrôleurs <strong>de</strong> temps et les modèles (co<strong>de</strong>s numériques)possibles.Dans l’état actuel <strong>de</strong> l’application OSIRIS, <strong>une</strong> règle <strong>de</strong>contrôle suit le formalisme suivant : où est un attribut pris parmi l’ensemble <strong>de</strong>sattributs <strong>de</strong>s entités cibles du <strong>processus</strong> ; est <strong>une</strong> condition <strong>de</strong> la forme > valeur ou< valeur ou = valeur est <strong>une</strong> action primitive <strong>de</strong> la forme = valeurDans le cas où la règle est relative à l’exécution du<strong>processus</strong>, la partie action <strong>de</strong> la règle s ‘écrit :controleurTemps = , controleurTempsmo<strong>de</strong>leProcessus = Les différentes classes du système et leurs relationspeuvent être représentées par un diagrammeclasse/association suivant la notation UML, figure 2. Laclasse centrale <strong>de</strong> système est la classe Processus qui estliée par <strong>de</strong>s liens <strong>de</strong> composition avec les autres classesdu système.AGENT <strong>de</strong> CTLcommuniquecontrôlese synchronise avecEst contrôlé parpossè<strong>de</strong>Est représenté parCTR TEMPSPROCESSUSMODELEgèrecibleEst associé àLit donnéesÉcrit résultatsENTITEEst modifiéee parFICHIERpossè<strong>de</strong>ATTRIBUTEst traduitPARAMETREcontientFigure 2. Diagramme classes/association du systèmeOSIRIS4.2. Dynamique du systèmeLa dynamique du système OSIRIS peut être représentéeconceptuellement à l’ai<strong>de</strong> d’<strong>une</strong> <strong>architecture</strong> en troiscouches :1. la première couche comprend les différentes entitésqui constituent le mon<strong>de</strong> qui doit être modélisé etsimulé. C’est la couche statique.2. Ce mon<strong>de</strong> évolue dans le temps sous l’action <strong>de</strong>sdifférents <strong>processus</strong> physiques qui appartiennent à<strong>une</strong> <strong>de</strong>uxième couche, la couche dynamique. Les<strong>processus</strong> du système évoluent indépendamment lesuns <strong>de</strong>s autres. L’action <strong>de</strong> ces <strong>processus</strong> estcoordonnée temporellement par <strong>de</strong>s contrôleurs <strong>de</strong>temps. L’action <strong>de</strong> chaque <strong>processus</strong> consiste enl’exécution d’un co<strong>de</strong> numérique qui va fournir <strong>de</strong>srésultats en fonction <strong>de</strong>s données provenant <strong>de</strong>sattributs <strong>de</strong>s entités traduits au besoin par lesfonctions <strong>de</strong> correspondance. Le co<strong>de</strong> numériquereprésentant le comportement d’un <strong>processus</strong> est lerésultat d’<strong>une</strong> modélisation indépendante et peut ne


MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)pas se trouver sur la même plate-forme que lesystème OSIRIS. De plus les résultats qui sontfournis peuvent rentrer en conflit avec les valeursadmissibles <strong>de</strong> la première couche. Il est doncnécessaire d’instaurer un contrôle, ce qui est réalisépar la troisième couche.3. La troisième couche, couche contrôle, est constituéepar les différents <strong>agent</strong>s <strong>de</strong> contrôle qui sont chacunassocié à un <strong>processus</strong> et dont le rôle est <strong>de</strong> mettreen œuvre les règles <strong>de</strong> contrôle qui ont été spécifiéespar l’utilisateur.Cette représentation du fonctionnement en couche estillustrée par la figure 3.Agents <strong>de</strong> contrôleCT1Dynamique du mon<strong>de</strong> simulé : les <strong>processus</strong> instanciésCT2CT : contrôleur <strong>de</strong> tempsN° Signification :1 Autorisation par le contrôleur <strong>de</strong> temps courant <strong>de</strong>l'exécution d'un cycle par le <strong>processus</strong>2 Deman<strong>de</strong> d'autorisation d'exécution3 Autorisation d'exécution par l'<strong>agent</strong> <strong>de</strong> contrôleaprès vérification <strong>de</strong>s différentes règles relativesau <strong>processus</strong>4 Création via le modèle-client courant du fichier <strong>de</strong>données nécessaire à l'exécution du modèle client5 Envoi du fichier <strong>de</strong> données au modèle serveur etattente <strong>de</strong> la réponse6 Création d'un thread permettant l'exécution duco<strong>de</strong> numérique associé7 Envoi <strong>de</strong>s résultats produit par le co<strong>de</strong> numérique8 Récupération <strong>de</strong>s valeurs via le modèle-client dansle fichier résultat et mise à jour <strong>de</strong>s entités9 Deman<strong>de</strong> <strong>de</strong> contrôle <strong>de</strong>s valeurs mises à jour10 Signalement aux accointances <strong>de</strong>s modificationseffectuées par le <strong>processus</strong>. Vérification <strong>de</strong>s règles<strong>de</strong> contrôle11 Signalement <strong>de</strong> la fin du cycle5. UNE DÉMARCHE DE COUPLAGE DEMODÈLESMon<strong>de</strong> simulé : les instances d ’entitésFigure 3. Organisation conceptuelle d ’OSIRISCette <strong>architecture</strong> est implémentée en langage Java. Celangage propose différents outils (threads, remotemetho<strong>de</strong> interface) qui facilitent la construction d’<strong>une</strong>application distribuée et constituée <strong>de</strong> composantsévoluant en parallèle. De plus la plate-forme Zeus estégalement construite avec ce langage, ce qui facilite lacommunication entre les sorties <strong>de</strong> cette plate-forme etl’application OSIRIS.La perspective dynamique du système peut alors êtrereprésentée suivant le diagramme <strong>de</strong> collaboration UML<strong>de</strong> la figure 4.10AGENT DECONTROLE32PROCESSUS98411MODELE-CLIENTcourant517CONTROLEURDE TEMPScourantMODELESERVEURFigure 4. Perspective dynamique d ’OSIRIS : les actionsréalisées lors d ’un cycle du <strong>processus</strong>.Les différents numéros représentent différentes actionsqui s’interprètent alors comme suit :6Nous proposons <strong>une</strong> démarche <strong>de</strong> <strong>couplage</strong> qui se veut laplus générique possible. La plupart <strong>de</strong>s systèmes <strong>de</strong><strong>couplage</strong> <strong>de</strong> modèles imposent à l'utilisateur un certainnombre <strong>de</strong> choix réduisant d'autant son <strong>de</strong>gré <strong>de</strong> liberté :ils comportent d'emblée le choix d'un point <strong>de</strong> vue sur lemon<strong>de</strong>. La démarche <strong>de</strong> <strong>couplage</strong> dans le systèmeOSIRIS inclut la possibilité pour l'utilisateur <strong>de</strong> définirsa propre vision du mon<strong>de</strong>, sur laquelle vont être greffésles modèles. C'est donc le point <strong>de</strong> vue <strong>de</strong> l'utilisateur quiva diriger le <strong>couplage</strong>. Nous rendons ainsi son problèmeau modélisateur en lui offrant cependant les moyens <strong>de</strong>le traiter.L'utilisation <strong>de</strong> l'outil OSIRIS s'accompagne, dans cecadre, <strong>de</strong> la réalisation d'un certain nombre <strong>de</strong> tâchespréalables :1. il faut définir <strong>une</strong> vision du mon<strong>de</strong> (c'est à direl'ensemble <strong>de</strong>s objets et <strong>de</strong>s attributs qui vontconstituer les composants du simulateur) ;2. il faut spécifier les <strong>processus</strong> physiques que l'onveut intégrer et les entités sur lesquelles ils opèrent ;les résolutions temporelles avec lesquelles on veutles simuler et à l'ai<strong>de</strong> <strong>de</strong> quels modèles numériques ;3. il faut définir les règles <strong>de</strong> correspondance entre lesparamètres <strong>de</strong>s modèles numériques choisis et lesentités et attributs représentant la vision du mon<strong>de</strong>qui a été définie ;4. il faut enfin spécifier les règles <strong>de</strong> validitépermettant d'évaluer les résultats fournis par lesmodèles numériques que l'on intègre.Ce travail non négligeable est en général toujours réalisépar le modélisateur, l'outil OSIRIS permet <strong>de</strong> l'expliciter.


MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)6. VALIDATIONUne démarche <strong>de</strong> modélisation implique la prise encompte <strong>de</strong> la question <strong>de</strong> la validité du modèle proposé.La proposition d'un système comme OSIRIS qui se veutà la fois être un outil <strong>de</strong> simulation et <strong>de</strong> manipulation <strong>de</strong>modèles ne peut pas faire l'économie d'<strong>une</strong> réflexion surla validation, question déterminante vis à vis <strong>de</strong> l'intérêt<strong>de</strong> notre entreprise (Cordier, 1999).De façon classique, la validation d'un modèle s'effectuepar confrontation entre les résultats fournis par le modèleet les données observées dans la réalité. Dans notreproblématique, <strong>une</strong> telle validation nécessite la prise encompte <strong>de</strong> trois types <strong>de</strong> validation :• le premier type rési<strong>de</strong> dans la vérification <strong>de</strong> lavalidité <strong>de</strong>s modèles numériques à intégrer ;• le <strong>de</strong>uxième type <strong>de</strong> validation se situe dans lecontrôle du résultat obtenu par le mécanismed'intégration. Dans notre cas, un contrôle dynamiqueest effectué en fonction d'un ensemble <strong>de</strong> règlesposées par l'utilisateur . Il s'agit donc <strong>de</strong> vérifier lavalidité <strong>de</strong> ces règles;• le troisième type rési<strong>de</strong> dans le respect <strong>de</strong>s règlesposées au cours <strong>de</strong> la simulation.Seuls les <strong>de</strong>uxième et troisième types <strong>de</strong> validationconcernent spécifiquement le système OSIRIS. Onsuppose que les modèles à intégrer ont déjà été validésauparavant.Le respect <strong>de</strong>s règles au cours <strong>de</strong> la simulation peut êtreassez facilement vérifié par <strong>une</strong> démarche classique <strong>de</strong><strong>de</strong>bugage et <strong>de</strong> mise au point du système.Le <strong>de</strong>uxième type <strong>de</strong> validation pose <strong>de</strong>ux catégories <strong>de</strong>problèmes :conceptuel : à savoir que l'on soit capable <strong>de</strong> définir etd'apprécier globalement ce qu'est <strong>une</strong> bonne simulation<strong>de</strong> <strong>processus</strong> intégrés (par exemple, conservation <strong>de</strong> lamasse)technique : il s'agit du problème <strong>de</strong>s outils proposés àl'utilisateur pour poser ses règles. Les possibilitésd'expression <strong>de</strong> règles dans le système OSIRIS sont pourl'instant très fortement limitées.Enfin la validation peut s'appliquer au schémaconceptuel et à la démarche d'OSIRIS et à son caractèregénérique. L'attitu<strong>de</strong> <strong>de</strong>s modélisateurs, lorsqu'on leurprésente l'outil, est <strong>de</strong> ce point <strong>de</strong> vue ouverte et positive.Ce « quatrième type » <strong>de</strong> validation passe parl'application effective <strong>de</strong> la démarche à d'autrescontextes.7. CONCLUSIONDans l'état actuel <strong>de</strong> notre travail, le système OSIRIS estun prototype dont le principal intérêt est <strong>de</strong> montrer lafaisabilité d'un ensemble <strong>de</strong> concepts potentiellementintéressants. Les concepts présentés dans cet article(synchronisation temporelle <strong>de</strong> modèles numériques parutilisation <strong>de</strong> contrôleurs <strong>de</strong> temps, traduction entredifférentes vues par l'intermédiaire <strong>de</strong> fonctions <strong>de</strong>correspondance, contrôle dynamique par l'intermédiaired'<strong>agent</strong> <strong>de</strong> contrôle) pour la plupart implémentés, et quiont permis <strong>de</strong> simuler le <strong>couplage</strong> <strong>de</strong> <strong>de</strong>ux modèles tests(non présentés dans cet article), se révèlent être <strong>de</strong> bonsoutils dans <strong>une</strong> démarche d'intégration <strong>de</strong> modèles.RÉFÉRENCESBelouze, P. (1996). Un modèle intégré d’un systèmeirrigué par la prise en compte <strong>de</strong> phénomèneshydrauliques, économiques et hydro-pédologiques.Mémoire <strong>de</strong> DEA, Ecole Nationale du Génie Rural,<strong>de</strong>s Eaux et <strong>de</strong>s Forêts, Montpellier.Blon<strong>de</strong>l, J. (1995). Approche écologique et évolutive.Collection Ecologie numéro 27. Editions Masson.Boivin, P. (1997). Soil <strong>de</strong>gradation in irrigation schemesin the Senegal river middle valley : Mechanisms,characterization methods and actual situation . DansK.M. Miezan et al.(eds) Irrigated rice in the Sahel :Prospects for Sustainable <strong>de</strong>velopment. West AfricaRice Development Association, Bouake. pp 37-49.Collis, J. et Ndumu, D. (1999). The Zeus Agent BuildingToolkit : Zeus Methodology Documentation. BritishTelecommunications Labs.Cordier, M-O. (1999). Actes <strong>de</strong> la Journée autour <strong>de</strong> la"Validation <strong>de</strong> mo<strong>de</strong>les traitant <strong>de</strong> <strong>processus</strong>complexes". INRA, Rennes.Fianyo, E., Treuil, J-P., Perrier E., et Demazeau,Y.(1998). Multi-Agent Architecture IntegratingHeterogeneous Mo<strong>de</strong>ls of Dynamical Processes: TheRepresentation of Time. In : Multi-Agent Systemsand Agent-Based Simulation Proceedings. LNAI,volume 1534, Springer-Verlag. pp 226-236.Fitz, H.C., DeBellevue, E., Costanza, R., Boumans, R.,Maxwell, T., Wainger, L., Sklar, F., (1996).Development of a general ecosystem mo<strong>de</strong>l for arange of scales and ecosystems. EcologicalMo<strong>de</strong>lling 88 (1/3), 263-295.LeFur, J. et Bommel, P. (1998). Couplage d’un modèle<strong>multi</strong>-<strong>agent</strong> <strong>de</strong> la dynamique d’<strong>une</strong> ressource marineavec un modèle <strong>multi</strong>-<strong>agent</strong> <strong>de</strong> l’exploitationhalieutique artisanale sénégalaise. Séminaire SMAS,INRA Montpellier.Maxwell, T. (1998). Collaborative Multi-ParadigmMo<strong>de</strong>ling of Environmental Systems. Proceedings ofthe 1998 Conference in Simulation Methods andApplications. Orlando, Florida.Maxwell, T et Costanza, R., (1995). Distributed ModularSpatial Ecosystem Mo<strong>de</strong>lling (special issue onAdvances Simulation Methodologies). InternationalJournal of Computer Simulation 5(3), 247-262.Maxwell, T et Costanza, R., (1997). A language formodular spatio-temporal simulation. Ecologicalmo<strong>de</strong>lling 103 (2/3), 105-114.Omnès, R. (1994). Philosophie <strong>de</strong> la sciencecontemporaine. Gallimard, Paris.Pouliot, J.(1999). Définition d'un cadre géosémantiquepour le <strong>couplage</strong> <strong>de</strong>s modèles prévisionnels <strong>de</strong>comportement et <strong>de</strong>s SIG; application pour les


écosystèmes forestiers. Thèse <strong>de</strong> doctorat, EcolePolytechnique Fédérale <strong>de</strong> Lausanne.Stengel, P. et Gélin, S. , (1998). Sol, Interface Fragile.Collection « Mieux Comprendre ». INRA Editions,Versailles.Voinov A., Costanza R., Wainger L., Boumans, R.,Villa, F., Maxwell, T., Voinov, H., (1999) Patuxentlandscape mo<strong>de</strong>l : integrated ecological economicmo<strong>de</strong>ling of a watershed. Environmental Mo<strong>de</strong>lling& Software, 14 : 473-491. Elsevier Science Ltd.MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!