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 ...
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)