Jean-Baptiste Filippi Une architecture logicielle pour la multi-modélisation et la simulation à événements discrets de systèmes naturels complexes Jean-Baptiste Filippi Décembre 2003 Université de Corse
Architecture logicielle Glossaire Glossaire Architecture logicielle Structure d’un ensemble d’éléments de conception et d’implémentation qui s’organisent pour former une base réutilisable destinée à créer une application spécifique Cadriciel
Glossaire Glossaire Paradigme Représentation du monde, manière de voir les choses. Le paradigme de modélisation est la métaphore informatique que le modélisateur emploie pour conceptualiser un système.
Glossaire Glossaire Formalisme Ensemble de structure et de grammaires mathématiques permettant d’exprimer un paradigme.
Technique de modélisation et simulation Glossaire Glossaire Technique de modélisation et simulation Ensemble des méthode informatique logicielles permettant d’implémenter et de simuler un modèle suivant un formalisme.
Glossaire Multi-modélisation Modélisation utilisant simultanément plusieurs techniques différentes
Problématique Sommaire Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives
Problématique générale 95% Modélisation de systèmes naturels Système Spécialiste 1 Hydrologue Spécialiste 2 Écologue Paradigmes spécifiques Diagrammes de blocs Équations différentielles Réseaux de Neurones Automates Cellulaires Multi-Agents Outils informatiques spécifiques Systèmes d’Information Géographiques
Problématique générale 95% Élaboration d’un modèle Modèles peu compatibles Spécialiste Définition du problème Choix du paradigme Selon paradigme Spécification formelle Choix de l’environnement Outils existants Informaticien Implémentation Technique Validation
Problématique générale 95% Besoins identifiés Composer des modèles hétérogènes Multi-modélisation Approche logicielle ouverte Cadriciel, Utilisation d’UML Interface avec des outils adaptés S.I.G. Diagrammes de blocs Réseaux de Neurones Automates Cellulaires Nouvelles techniques ? Intégration des techniques appropriées aux thématiques du laboratoire
Bases de l’approche Sommaire Problématique Bases de l’approche 95% Sommaire Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives Bases de l’approche
Bases de l’approche Multi-modélisation - Co-simulation Modèle A. 0% Multi-modélisation - Co-simulation Modèle A. Formalisme A Modèle B. Formalisme B Modèle C. Formalisme C Modèle A. Modèle B. Modèle C. Multi-Modèles Connexion uniquement par passage de valeurs Validité formelle des composition ? Approche retenue dans High Level Architecture
Bases de l’approche Multi-modélisation - Transformation 2% Multi-modélisation - Transformation Meta-Meta-modèle Meta-modèle A Meta-modèle B Meta-modèle C Meta-modèle X Formalisme X Modèle A. Formalisme A Modèle B. Formalisme B Modèle C. Formalisme C Modèle A. Modèle B. Modèle C. Transformation Modèle A. Modèle B. Modèle C. Multi-Modèle Possibilité d’étude analytique des modèles Approche existante dans Atom3 Nécessité de définition de meta et meta-meta modèles
Bases de l’approche Multi-modélisation - Super formalisme 4% Multi-modélisation - Super formalisme Modèle A. Modèle B Modèle C. Multi-Modèles Super Formalisme Modèle A. Formalisme A Modèle B. Formalisme B Modèle C. Formalisme C Possibilité d’étude analytique des modèles Composition de modèles valides Besoin de super-formalisme
Hiérarchie d’abstraction Hierarche temporelle Bases de l’approche 6% Environnement existant Approche multivue Hiérarchie d’abstraction Hierarche temporelle Hiérarchie de description Base formelle pour une approche logicielle
DEVS Bases de l’approche Formalisme unificateur : DEVS 8% Formalisme unificateur : DEVS DEVS Formalisme utilisé dans l’approche multivue Formalisme très proche de la théorie générale des systèmes Nombreux paradigmes déjà adaptés En cours de standardisation, communauté active Modèles directement simulables
Bases de l’approche Formalisme unificateur : DEVS 10% Formalisme unificateur : DEVS Construction Hiérarchique Arbre de simulation Root Coordinateur A Simulateur 1 Coordinateur B Simulateur 2 Simulateur 3 Simulateur 4 Couplé A Atom 1 Atom 2 Couplé B Atom 4 Atom 3 Couplé 2
Modèles atomiques Modèles couplés Bases de l’approche 10% Formalisme unificateur : DEVS - modélisation Modèles atomiques Ensemble d’entrée Ensemble des états Fonction de transition interne Ensemble de sortie Fonction de transition externe Fonction de sortie Durée de l’état Modèles couplés Ensemble d’entrée Index des modèles composites Ensemble de sortie Ensemble des modèles composites Liaisons d’entrées Liaisons de sorties Liens internes
Bases de l’approche Formalisme unificateur : DEVS - simulation S S1 S 12% Formalisme unificateur : DEVS - simulation S S1 S S1 S1
Bases de l’approche Démarche Assure la cohérence des futurs modèles 14% Démarche Assure la cohérence des futurs modèles Choix d’un formalisme unificateur Choix d’un formalisme unificateur Identifie les modules Principaux du cadriciel Étude des approches existantes Analyse comment réaliser ces modules Spécification du cadriciel Paradigme les plus utiles en modélisation de systèmes naturels Choix des techniques à intégrer Proposer un logiciel basé sur ce cadriciel Implémentation JDEVS Obtenir l’évaluation du logiciel Publication du logiciel
Existant Sommaire Problématique Bases de l’approche Existant 16% Sommaire Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives Existant
DEVSJAVA Collaborative DEVS Modeller Moose Atom3 Cell DEVS 18% Existant Logiciels basés sur DEVS Séparation explicite entre interface graphique et librairie de simulation DEVSJAVA Collaborative DEVS Modeller Moose Atom3 Cell DEVS Utilisation de bibliothèques de modèles, ajout de méthodes via librairie C++ Meta-grammaire Transformation de graphes DEVS unificateur Automates cellulaires Syntaxe simplifiée
SWARM Tarsier ECLPSS VLE Cormas 20% Existant Logiciels de modélisation environnementale Réutilisation de modèles Bibliothèque de composants Plusieurs cadres expérimentaux SWARM Tarsier ECLPSS VLE Cormas Intégration totale au SIG Séparation simulation/stockage Analyse/Visualisation Utilisation de Java, Parallélisme des calculs Multi-échelles Agents réactifs Bibliothèque de fonctions Séparation simulation/analyse Multi-agent/automate cellulaires Séparation en modules modélisation simulation et observation
Utilisation d’un formalisme unificateur. 22% Existant Conclusions Utilisation d’un formalisme unificateur. Traitement/analyse de données : SIG. Architecture modulaire, modélisation, simulation, stockage et expérimentation. Utilisation de bibliothèques. Cadres d’expérimentation souples pour plusieurs utilisateurs cibles. Intégration multi-agent/ réactifs / situés ?
Le cadriciel Sommaire Problématique Bases de l’approche Existant 24% Sommaire Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives Le cadriciel
Le cadriciel Méthode généraux Méthodologie UML Outils de Conception 26% Méthode généraux Outils de Conception Méthodologie UML Découpage sous forme de Packages Utilisation de Patrons de Conception Outils de Validation Publication en GPL sur le web Implémentation pour test Présentation en congrès
Le cadriciel Cas d’utilisations Construit l’environnement 28% Cas d’utilisations Construit l’environnement Constructeur d’application Stocke les modèles validés Bibliothécaire Construit les modèles Modélisateurs Conçoit et valide les modèles Spécialiste Utilise les modèles / Simule Utilisateur de modèles
Le cadriciel Architecture globale Interface graphique de modélisation 30% Architecture globale Interface graphique de modélisation Stockage de modèles Technique X Access Cadres expérimentaux Simulation
Le cadriciel Interface graphique Access Application Espace de travail 32% Interface graphique Technique de modélisation X Access Composant X Espace de travail X Panneau X Interface Graphique Application Espace de travail Panneau de contrôle Composant
XML DEVS Document Builder Le cadriciel 34% Stockage Stockage Connecteur HMLib Parser de modèle Access Loader XML DEVS Document Builder Technique de modélisation X Access Nœud X Nœud-modèle
Le cadriciel Moteur de simulation Modèle Atomique Couplé Couplage Port 36% Moteur de simulation Modélisation Modèle Atomique Couplé Couplage Port Vecteur message Message Processeur Simulateur Root Coordinateur Simulation Vecteur évènement Évènement
Composant-Processeur Le cadriciel 38% Cadres expérimentaux Cadres Expérimentaux Logger Application Applet Contrôleur Espace-Simulation Contrôle Composant-Processeur Technique X Access Contrôle X Espace-Simulation X
Le cadriciel Modules techniques spécifiques – Classic DEVS Contrôle 40% Modules techniques spécifiques – Classic DEVS Contrôle Composant Coordinateur Cadres Expérimentaux Composant-modèle-composition Interface Graphique Classic DEVS Access GetSimulationComponent() GetControlComponent() GetCompositionModel() GetNode() GetParser() Stockage Parser-modèle-diagramme Noeud-modèle-composition
Adapté aux modèles hierarchiques Structures dans modèles couplés Le cadriciel 40% Modules techniques spécifiques – Format de fichier XML Adapté aux modèles hierarchiques Structures dans modèles couplés Liens URI vers les versions sérialisées des atomiques dans HmLib Standard DEVS ?
Techniques ajoutées Sommaire Problématique Bases de l’approche 42% Sommaire Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives Techniques ajoutées
Possibilité de création de modèles empiriques Techniques ajoutées 44% Feedback-DEVS – Buts recherchés Feedback-DEVS Possibilité de création de modèles empiriques Intégration de modèles de régression, réseau de neurones (perceptron multicouche). Prise en compte de changement comportementaux non prévus en cours de simulation Adapté de F-DEVS (E. Kofman).
Modèles Feedback Techniques ajoutées 46% Feedback-DEVS - Spécification Modèles Feedback Ensemble d’entrée Ensemble des états Ensemble de sortie Fonction de transition interne Fonction de transition externe Fonction de réaction Fonction de sortie Durée de l’état Xf = Xs U X’ avec Xs entrées standards et X’ entrées feedback S = Ss U S’ avec Ss états standards et S’ états que le modèle pourrait atteindre en réaction à un feedback peut aussi ne modifier que les paramètres des états
X Techniques ajoutées T = 5 T = 10 T = 0 Système 46% Feedback-DEVS - Exemple T = 5 T = 10 T = 0 Système 5 Précipitation : P = 100L Erreur = 5 Comparateur État : sec État : Sec État : Humide Xs infini infini 10 5 Y Fonction de sortie : Si Humide alors Débit = 5 Pendant P/10 X’ X 20
Techniques ajoutées Feedback-DEVS – Intégration logicielle 46% Feedback-DEVS – Intégration logicielle Stockage Parser modèle Nœud modèle Contrôle Cadres Expérimentaux Feedback DEVS Parser Feedback Nœud Feedback Contrôle Feedback Acces Modèle Feedback Simulateur Feedback Composant Feedback Modèle atomique Simulateur Simulation Modélisation Moteur DEVS Composant-modèle Interface Graphique
Automates Cellulaires Techniques ajoutées 48% Automates Cellulaires – Buts recherchés Automates Cellulaires Prise en en compte de dynamique spatiale Paradigme très utilisé dans le domaine de l’écologie et de la physique Particulièrement adapté à un couplage avec SIG sur cartes matricielles Méthodologie Cell-DEVS (Wainer) existante
Techniques ajoutées 48% Automates Cellulaires – Spécification
Techniques ajoutées 48% Automates Cellulaires – Exemple
Techniques ajoutées Automates Cellulaires – Intégration aux SIG 50% Automates Cellulaires – Intégration aux SIG Extraction de cartes Liste d’évènements Recomposition de cartes
Étude de phénomène à interface (frontière) Techniques ajoutées 52% Vector-DEVS – Buts recherchés Vector-DEVS Étude de phénomène à interface (frontière) Évolution de l’interface calculé uniquement lorsque nécessaire (événements discrets) Peut réduire les calculs (espace non discret) Permets la simulation à plus grande échelle Adapté de la méthode de « Front tracking » Spécification grâce à DS-DEVS (Barros)
Techniques ajoutées Vector-DEVS – Algorithme 54% Vector-DEVS – Algorithme Répéter tant que T < Tfin Collision interne : Recomposition Distance limite : Auto décomposition Collision externe : Décomposition T = Prochaine collision
Techniques ajoutées Agent géographique Vitesse Direction Position 54% Vector-DEVS – Spécification Agent géographique Un composant de base Représentant un point générique d’une interface Vitesse Direction Position Tsuivant [AB] = distance x vitesse [AB] A B x Forme d’un phénomène constituée d’un ensemble d’agents Gestionnaire de forme Intersection Décomposition
Techniques ajoutées 58% Vector-DEVS – Exemple
Chaque agent est un modèle atomique Techniques ajoutées 54% Vector-DEVS – Spécification Structure de Forme dynamique Utilisation de Dynamic Structure DEVS (Barros) Couplages internes gérées par un modèle atomique particulier : exécutif Chaque agent est un modèle atomique Gestionnaire de Forme est un réseau DSDEVS L’exécutif détecte les collisions internes et effectue les changement de structures
Techniques ajoutées 54% Vector-DEVS – Spécification
Implémentation Sommaire Problématique Bases de l’approche Existant 60% Sommaire Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives Implémentation
Implémentation Stockage Interface SIG Interface graphique 62% Implémentation JDEVS – Architecture Architecture Stockage Interface SIG Interface graphique Moteur de simulation Cadres expérimentaux
Implémentation JDEVS – Interface Graphique Bibliothèque Modélisation 64% Implémentation JDEVS – Interface Graphique Bibliothèque Modélisation Propriétés du modèle Contrôle de simulation Résultats de simulation
Implémentation JDEVS – Modèles atomiques Nouveau modèle atomique 70% Implémentation JDEVS – Modèles atomiques Nouveau modèle atomique Ajout de ports et propriétés Génération de Code
70% Implémentation JDEVS – Modèles atomiques Code généré
Implémentation JDEVS – Modèles couplés Nouveau modèle Couplé 70% Implémentation JDEVS – Modèles couplés Nouveau modèle Couplé Ajout de ports et propriétés
Implémentation JDEVS – Bibliothèque Spécialiste 70% Physicien Mathématicien Économiste …. Modélisateur 1 Modélisateur 2 Chef modélisateur compose le modèle final à partir de composants réutilisables
Implémentation JDEVS – Simulation Lancement de la simulation 70% Implémentation JDEVS – Simulation Lancement de la simulation Chargement des événements État de la simulation Contrôle Événements d’entrée Sorties de simulation
Implémentation JDEVS – Cadres expérimentaux Applets de simulation 3D, 74% Implémentation JDEVS – Cadres expérimentaux Applets de simulation 3D, Facilite la publication de modèles Améliore impact Intégré à l’interface graphique Application de simulation de sur grilles / couplage SIG
Modèles Sommaire Problématique Bases de l’approche Existant 76% Sommaire Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives Modèles
Modèles Système ferme Photo Voltaïque ferme Photo Voltaïque 78% Système ferme Photo Voltaïque ferme Photo Voltaïque Dimensionnement, prévision et contrôle des systèmes énergétiques à sources renouvelables Source de production interchangeable Production batterie
Batterie : réservoir d’énergie Modèle Feedback-DEVS de vieillissement Modèles 80% Système ferme Photo Voltaïque – Modèle dans JDEVS Batterie : réservoir d’énergie Modèle Feedback-DEVS de vieillissement Perceptron multicouche à rétro propagation du gradient
Modèles 82% Système ferme Photo Voltaïque - Résultats
Modèles 84% Mouche des Fruits Cycle de développement
Modèles Mouche des Fruits 86% Mouche des Fruits Comportement défini par un ingénieur agronome Étude de propagation de la mouche en vue de lâcher de males stériles Utilisation du SIG pour identifier les cultures Simulation sur n'importe quelle zone
Modèles 88% Polluants
Modèles 90% Polluants
Modèles 92% Polluants
Modèles 94% Polluants
Conclusion Sommaire Problématique Bases de l’approche Existant 96% Sommaire Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Conclusion Conclusion
Conclusion 98% Synthèse
Conclusion 98% Critiques
Implémentation et tests de Vector-DEVS Conclusion 100% Perspectives Implémentation et tests de Vector-DEVS Réalisation de plus d'études pour faire évoluer l’outil Intégrer le paradigme multi-agent Développement de simulation plus rapides (parallèle-DEVS ?) Capteurs DEVS pour la capture d’information et la simulation temps réel.