730 likes | 960 Views
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. Glossaire. Glossaire.
E N D
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
Glossaire Glossaire 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 Architecture logicielle
Glossaire Glossaire 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. Paradigme
Glossaire Glossaire Ensemble de structure et de grammaires mathématiques permettant d’exprimer un paradigme. Formalisme
Glossaire Glossaire Ensemble des méthode informatique logicielles permettant d’implémenter et de simuler un modèle suivant un formalisme. Technique de modélisation et simulation
Glossaire Modélisation utilisant simultanément plusieurs techniques différentes Multi-modélisation
Sommaire Problématique Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives
95% Système Spécialiste 1Hydrologue Spécialiste 2Écologue Modélisation de systèmes naturels Problématique générale 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
95% Élaboration d’un modèle Problématique générale 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
95% Besoins identifiés Problématique générale 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ématiquesdu laboratoire
95% Sommaire Bases de l’approche Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives
0% Formalisme A Formalisme B Formalisme C Modèle A. Modèle B. Modèle C. Multi-Modèles Modèle B. Modèle A. Modèle C. Multi-modélisation - Co-simulation Bases de l’approche Connexion uniquement par passage de valeurs Validité formelle des composition ? Approche retenue dans High Level Architecture
2% Meta-modèle A Meta-modèle B Meta-modèle C Meta-modèle X Formalisme A Formalisme B Formalisme C Formalisme X Modèle A. Modèle B. Modèle C. Transformation Modèle A. Modèle B. Modèle C. Multi-Modèle Modèle B. Modèle A. Modèle C. Multi-modélisation - Transformation Bases de l’approche Meta-Meta-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
4% Super Formalisme Formalisme A Formalisme B Formalisme C Modèle A. Modèle B. Modèle C. Multi-Modèles Modèle B Modèle A. Modèle C. Multi-modélisation - Super formalisme Bases de l’approche Possibilité d’étude analytique des modèles Composition de modèles valides Besoin de super-formalisme
6% Environnement existant Bases de l’approche Approche multivue Hiérarchie d’abstraction Hierarche temporelle Hiérarchie de description Base formelle pour une approche logicielle
8% Formalisme unificateur : DEVS Bases de l’approche 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
10% Arbre de simulation Couplé A Root Atom 1 Atom 2 Coordinateur A Simulateur 1 Couplé B Simulateur 2 Coordinateur B Couplé 2 Simulateur 3 Atom 4 Simulateur 4 Atom 3 Formalisme unificateur : DEVS Bases de l’approche Construction Hiérarchique
10% Ensemble d’entrée Ensemble d’entrée Liaisons d’entrées Liens internes Index des modèles composites Liaisons de sorties Ensemble de sortie Ensemble de sortie Durée de l’état Ensemble des modèles composites Fonction de transition externe Fonction de transition interne Ensemble des états Fonction de sortie Formalisme unificateur : DEVS - modélisation Bases de l’approche Modèles atomiques Modèles couplés
12% S S1 Formalisme unificateur : DEVS - simulation Bases de l’approche S S1 S1
14% Démarche Assure la cohérence des futurs modèles Bases de l’approche 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
16% Sommaire Existant Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives
18% Logiciels basés sur DEVS Existant Séparation explicite entre interface graphique et librairie de simulation Utilisation de bibliothèques de modèles, ajout de méthodes via librairie C++ DEVSJAVA Collaborative DEVS Modeller Moose Atom3 Cell DEVS Meta-grammaire Transformation de graphes DEVS unificateur Automates cellulaires Syntaxe simplifiée
20% Logiciels de modélisation environnementale Existant Réutilisation de modèles Bibliothèque de composants Plusieurs cadres expérimentaux Intégration totale au SIG Séparation simulation/stockage Analyse/Visualisation Utilisation de Java, Parallélisme des calculs Multi-échelles SWARM Tarsier ECLPSS VLE Cormas Agents réactifs Bibliothèque de fonctions Séparation simulation/analyse Multi-agent/automate cellulaires Séparation en modules modélisation simulation et observation
22% Conclusions Existant 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 ?
24% Sommaire Le cadriciel Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives
26% Méthode généraux Le cadriciel 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
28% Cas d’utilisations Le cadriciel 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
30% Access Technique X Architecture globale Le cadriciel Interface graphique de modélisation Stockage de modèles Cadres expérimentaux Simulation
32% Technique de modélisation X Composant X Access Espace de travail X Panneau X Interface graphique Le cadriciel Interface Graphique Application Espace de travail Panneau de contrôle Composant
34% Technique de modélisation X Nœud X Access Stockage Le cadriciel Stockage Connecteur HMLib Parser de modèle Access Loader XML DEVS Document Builder Nœud-modèle
36% Modélisation Simulation Vecteur évènement Modèle Évènement Atomique Couplé Processeur Port Couplage Simulateur Root Message Coordinateur Vecteur message Moteur de simulation Le cadriciel
38% Technique X Contrôle X Access Espace-Simulation X Cadres expérimentaux Le cadriciel Cadres Expérimentaux Logger Application Applet Contrôleur Espace-Simulation Contrôle Composant-Processeur
40% Cadres Expérimentaux Interface Graphique Classic DEVS Access GetSimulationComponent()GetControlComponent()GetCompositionModel()GetNode()GetParser() Contrôle ComposantCoordinateur Composant-modèle-composition Stockage Parser-modèle-diagramme Noeud-modèle-composition Modules techniques spécifiques – Classic DEVS Le cadriciel
40% Modules techniques spécifiques – Format de fichier Le cadriciel 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 ?
42% Sommaire Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives Techniques ajoutées
44% Techniques ajoutées 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).
46% Ensemble d’entrée Ensemble de sortie Durée de l’état Fonction de transition externe Fonction de transition interne peut aussi ne modifier que les paramètres des états Ensemble des états Fonction de sortie Fonction de réaction Techniques ajoutées Feedback-DEVS - Spécification Modèles Feedback Xf = XsUX’ avec Xs entrées standards et X’ entrées feedback S = SsUS’ avec Ss états standards et S’ états que le modèle pourrait atteindre en réaction à un feedback
46% T = 10 Système 5 0 Précipitation : P = 100L Erreur = 5 Précipitation : P = 100L 5 X Techniques ajoutées Feedback-DEVS - Exemple T = 5 T = 0 Comparateur État : Sec État : sec État : Humide Xs 10 infini 5 infini Y 0 Fonction de sortie :Si Humide alorsDébit = 5 Pendant P/10 X’ 20
46% Stockage Cadres Expérimentaux Contrôle Parser modèle Nœud modèle Moteur DEVS Simulation Modélisation Interface Graphique Modèle atomique Simulateur Composant-modèle Techniques ajoutées Feedback-DEVS – Intégration logicielle Feedback DEVS Parser Feedback Nœud Feedback Contrôle Feedback Acces Modèle Feedback Simulateur Feedback Composant Feedback
48% Techniques ajoutées 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
48% Techniques ajoutées Automates Cellulaires – Spécification
48% Techniques ajoutées Automates Cellulaires – Exemple
50% Extraction de cartes Liste d’évènements Recomposition de cartes Techniques ajoutées Automates Cellulaires – Intégration aux SIG
52% Techniques ajoutées 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)
54% Techniques ajoutées 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
54% A x Tsuivant [AB] = distance x vitesse [AB] B Techniques ajoutées Vector-DEVS – Spécification Agent géographique Un composant de base Représentant un point générique d’une interface Vitesse Direction Position Forme d’un phénomèneconstituée d’un ensembled’agents Gestionnaire de forme Intersection Décomposition
58% Techniques ajoutées Vector-DEVS – Exemple
54% Techniques ajoutées 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
54% Techniques ajoutées Vector-DEVS – Spécification
60% Sommaire Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives Implémentation