une architecture logicielle pour la multi-modélisation et la simulation à événements discrets de...
TRANSCRIPT
Une architecture logicielle pour la multi-modélisation
et la simulation à événements discrets de systèmes
naturels complexes
Jean-Baptiste Filippi
Décembre 2003Université de
Corse
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.
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
Glossaire
Multi-modélisation
Modélisation utilisant simultanément plusieurs techniques différentes
Sommaire
Problématique
Bases de l’approche
Existant
Le cadriciel
Techniques ajoutées
Implémentation
Modèles
Perspectives
Problématique
Problématique généraleModélisation de systèmes naturels
95%
Système
Spécialiste 2
Écologue
Spécialiste 1
Hydrologue
Paradigmes spécifiques
Outils informatiques spécifiques
• Diagrammes de blocs• Équations différentielles• Réseaux de Neurones• Automates Cellulaires• Multi-Agents
• Systèmes d’Information Géographiques
Problématique générale
Définition du problème
Choix du paradigme
Choix de l’environnement
Implémentation
Validation
Outils existants
Spécialiste
Informaticien
Spécification formelle
Élaboration d’un modèle
Selon paradigme
Technique
Modèles peu compatibles
95%
Problématique générale
Besoins identifiés
95%
Composer des modèles hétérogènes Multi-modélisation
Approche logicielle ouverte
Interface avec des outils adaptés S.I.G.
Cadriciel, Utilisation d’UML
Intégration des techniques appropriées aux thématiquesdu laboratoire
• Diagrammes de blocs• Réseaux de Neurones• Automates Cellulaires• Nouvelles techniques ?
Sommaire
Problématique
Bases de l’approche
Existant
Le cadriciel
Techniques ajoutées
Implémentation
Modèles
Perspectives
Bases de l’approche
95%
Bases de l’approche
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
0%
Validité formelle des composition ?
Approche retenue dans High Level Architecture
Connexion uniquement par passage de valeurs
Bases de l’approche
Multi-modélisation - Transformation
Modèle A.
Modèle B.
Modèle C.
Multi-Modèle
2%
Meta-modèle A Meta-modèle B Meta-modèle C
Modèle A.
Formalisme A
Modèle B.
Formalisme B
Modèle C.
Formalisme C
Meta-modèle X
Formalisme X
Meta-Meta-modèle
Modèle A. Modèle B. Modèle C. Transformation
Approche existante dans Atom3
Nécessité de définition de meta et meta-meta modèles
Possibilité d’étude analytique des modèles
Bases de l’approche
Multi-modélisation - Super formalisme
Modèle A.
Formalisme A
Modèle B.
Formalisme B
Modèle C.
Formalisme C
Super Formalisme Modèle A.
Modèle B
Modèle C.
Multi-Modèles
4%
Composition de modèles valides
Besoin de super-formalisme
Possibilité d’étude analytique des modèles
Bases de l’approche
Environnement existant
6%
Approche multivue
Hiérarchie d’abstraction
Hierarche temporelle
Hiérarchie de description
Base formelle pour une approche logicielle
Bases de l’approche
Formalisme unificateur : DEVS
DEVS
Formalisme très proche de la théoriegénérale des systèmes
Nombreux paradigmes déjà adaptés
8%
En cours de standardisation, communauté active
Formalisme utilisé dans l’approche multivue
Modèles directement simulables
Couplé A
Atom 1 Atom 2
Couplé B
Bases de l’approche
Formalisme unificateur : DEVS
10%
Atom 4Atom 3
Couplé 2
Construction Hiérarchique Arbre de simulation
Root
Coordinateur A
Simulateur 1
Coordinateur B
Simulateur 2
Simulateur 3
Simulateur 4
Bases de l’approche
Formalisme unificateur : DEVS - modélisation
10%
Ensemble d’entrée Liaisons d’entréesEnsemble de sortie Liaisons de sortiesLiens internesIndex des modèles compositesEnsemble des modèles composites
Fonction de transition interneEnsemble d’entréeEnsemble de sortieFonction de transition externeFonction de sortieEnsemble des états Durée de l’état
Modèles atomiques
Modèles couplés
ta
sX Y
Entrée de fonctionRésultat de fonction
Légende
Bases de l’approche
Réception desentrées
Formalisme unificateur : DEVS - simulation
Transition externe
S
Transition interne
Envoi des sorties
S1
Mise en attente
S1
Fonction de sortie S
S1
12%
Bases de l’approche
Démarche
Choix d’un formalisme unificateur
Étude des approches existantes
Choix des techniques à intégrer
Implémentation JDEVS
Publication du logiciel
Spécification du cadriciel
Assure la cohérence des futurs modèles
Identifie les modulesPrincipaux du cadriciel
Analyse comment réaliser ces modulesParadigme les plus
utiles en modélisationde systèmes naturelsProposer un logicielbasé sur ce cadricielObtenir l’évaluation
du logiciel
Choix d’un formalisme unificateur
14%
Sommaire
Problématique
Bases de l’approche
Existant
Le cadriciel
Techniques ajoutées
Implémentation
Modèles
Perspectives
Existant
16%
Logiciels basés sur DEVS
Existant
DEVSJAVA Collaborative DEVS Modeller
Moose
Atom3
Cell DEVS
Séparation explicite entre interface graphiqueet librairie de simulation
Utilisation de bibliothèquesde modèles, ajout de méthodes via librairie C++
Meta-grammaireTransformation de graphesDEVS unificateur
Automates cellulairesSyntaxe simplifiée
18%
Logiciels de modélisation environnementale
Existant
SWARM
Tarsier
ECLPSS
VLE
Cormas
Réutilisation de modèlesBibliothèque de composantsPlusieurs cadres expérimentauxIntégration totale au SIGSéparation simulation/stockageAnalyse/VisualisationUtilisation de Java,Parallélisme des calculsMulti-échellesAgents réactifsBibliothèque de fonctionsSéparation simulation/analyseMulti-agent/automate cellulairesSéparation en modules modélisationsimulation et observation
20%
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 ?
22%
Sommaire
Problématique
Bases de l’approche
Existant
Le cadriciel
Techniques ajoutées
Implémentation
Modèles
Perspectives
Le cadriciel
24%
Le cadriciel
Méthode généraux
Découpage sous forme de Packages
Utilisation de Patrons de Conception
Méthodologie UML
Publication en GPL sur le web
Implémentation pour test
Outils deConception
Outils deValidation
Présentation en congrès
26%
Le cadriciel
Cas d’utilisations
Bibliothécaire
Modélisateurs
Constructeur d’application
Spécialiste
Utilisateur de modèles
Construit l’environnement
Construit les modèles
Conçoit et valide les modèles
Utilise les modèles / Simule
Stocke les modèles validés
28%
Le cadriciel
Architecture globale
Interface graphique
de modélisation
Stockage de
modèles
Cadres
expérimentauxSimulation
Technique X
Access
30%
Le cadriciel
Interface graphique
Application
Espace de travail
ComposantPanneau de contrôle
Interface GraphiqueTechnique de modélisation X
Access
Composant X
Espace de travail X
Panneau X
32%
Stockage
Le cadriciel
Stockage
Access Loader
Parser de modèle
Nœud-modèle
XML DEVS Document Builder
Connecteur HMLib
34%
Technique de modélisation X
Access
Nœud X
Le cadriciel
Moteur de simulation
36%
Processeur
Simulateur Root
Coordinateur
Simulation
Vecteur évènement
Évènement
Modélisation
Modèle
Atomique Couplé
CouplagePort
Vecteur message
Message
Le cadriciel
Cadres expérimentaux
ContrôleurEspace-Simulation
Composant-ProcesseurContrôle
Application AppletLogger
Cadres Expérimentaux
38%
Technique X
AccessContrôle X
Espace-Simulation X
Le cadriciel
Modules techniques spécifiques – Classic DEVS
40%
Classic DEVS
Access
GetSimulationComponent()GetControlComponent()GetCompositionModel()GetNode()GetParser()
Stockage
Parser-modèle-diagramme Noeud-modèle-composition
ContrôleComposant
Coordinateur
Cadres Expérimentaux
Composant-modèle-composition
Interface Graphique
Le cadriciel
Modules techniques spécifiques – Format de fichier
40%
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 ?
XML
Sommaire
Problématique
Bases de l’approche
Existant
Le cadriciel
Techniques ajoutées
Implémentation
Modèles
Perspectives
Techniques ajoutées
42%
Techniques ajoutées
Feedback-DEVS – Buts recherchés
44%
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).
Feedback-DEVS
Techniques ajoutées
Feedback-DEVS - Spécification
46%
Fonction de transition interneEnsemble d’entréeEnsemble de sortieFonction de transition externeFonction de sortieEnsemble des états Durée de l’état
Modèles Feedback
Fonction de réactionXf = 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
infini
Techniques ajoutées
Feedback-DEVS - Exemple
46%
Co
mp
arateur
Système
X’
Xs
Fonction de sortie :Si Humide alorsDébit = 5 Pendant P/10
État : Sec
Y
Précipitation : P = 100L
Précipitation : P = 100L 5
5
X
Erreur = 5
T = 0T = 5
20
État : Humide
T = 10
0
0
État : sec
105infini
Techniques ajoutées
Feedback-DEVS – Intégration logicielle
46%
Feedback DEVS
Composant Feedback
Nœud Feedback
Modèle Feedback
Parser Feedback Contrôle Feedback
Simulateur Feedback
Acces
Stockage
Parser modèle Nœud modèle Contrôle
Cadres Expérimentaux
Composant-modèle
Interface Graphique
Modèle atomique Simulateur
SimulationModélisationMoteur DEVS
Techniques ajoutées
Automates Cellulaires – Buts recherchés
48%
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
Automates Cellulaires
Techniques ajoutées
Automates Cellulaires – Spécification
48%
Techniques ajoutées
Automates Cellulaires – Exemple
48%
Techniques ajoutées
Automates Cellulaires – Intégration aux SIG
50%
Liste d’évènements
Recomposition de cartes
Extraction de cartes
Techniques ajoutées
Vector-DEVS – Buts recherchés
52%
É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)
Vector-DEVS
Techniques ajoutées
Vector-DEVS – Algorithme
54%
Collision externe : Décomposition
Distance limite :Auto décomposition
Collision interne :Recomposition
Répéter tant que T < Tfin
T = Prochaine collision
Techniques ajoutées
Vector-DEVS – Spécification
Tsuivant [AB] = distance x vitesse [AB]
A
B
x
54%
Un composant de baseReprésentant un point générique d’une interface
Agent géographiqueVitesse
Direction
Position
Forme d’un phénomèneconstituée d’un ensembled’agents
Gestionnaire de formeIntersection
Décomposition
Techniques ajoutées
Vector-DEVS – Exemple
58%
Techniques ajoutées
Vector-DEVS – Spécification
54%
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
Vector-DEVS – Spécification
54%
Sommaire
Problématique
Bases de l’approche
Existant
Le cadriciel
Techniques ajoutées
Implémentation
Modèles
Perspectives
Implémentation
60%
Implémentation
JDEVS – Architecture
62%
Architecture
Stockage
Interface SIG
Interface graphique
Moteur de simulation
Cadres expérimentaux
Implémentation
JDEVS – Interface Graphique
64%
Bibliothèque
Modélisation
Propriétés du modèle
Contrôle de simulation
Résultats de simulation
Implémentation
JDEVS – Modèles atomiques
70%
Génération de Code
Ajout de ports et propriétés
Nouveau modèle atomique
Implémentation
JDEVS – Modèles atomiques
70%
Code généré
Implémentation
JDEVS – Modèles couplés
70%
Ajout de ports et propriétés
Nouveau modèle Couplé
Implémentation
JDEVS – Bibliothèque
70%
Chef modélisateurcompose le modèlefinal à partir de composants réutilisables
Modélisateur 1
Modélisateur 2
Spécialiste PhysicienMathématicienÉconomiste….
Implémentation
JDEVS – Simulation
70%
Lancement de la simulation
Événements d’entrée
Chargement des événements
Sorties de simulation
Contrôle
État de la simulation
Implémentation
JDEVS – Cadres expérimentaux
74%
Applets de simulation 3D, Facilite la publication de modèlesAméliore impact
Intégré à l’interface graphique
Application de simulation de sur grilles / couplage SIG
Sommaire
Problématique
Bases de l’approche
Existant
Le cadriciel
Techniques ajoutées
Implémentation
Modèles
Perspectives
Modèles
76%
Modèles
Système ferme Photo Voltaïque
Dimensionnement, prévision et contrôle des systèmes énergétiques à sources renouvelables
Source de production interchangeable
batterie
Production
78%
ferme Photo Voltaïque
Modèles
Système ferme Photo Voltaïque – Modèle dans JDEVS
80%
Batterie : réservoir d’énergie
Modèle Feedback-DEVS de vieillissement
Perceptron multicouche à rétro propagation du gradient
Modèles
Système ferme Photo Voltaïque - Résultats
82%
Modèles
Mouche des Fruits
84%
Cycle de développement
Modèles
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
86%
Modèles
Polluants
88%
Modèles
Polluants
90%
Modèles
Polluants
92%
Modèles
Polluants
94%
Sommaire
Problématique
Bases de l’approche
Existant
Le cadriciel
Techniques ajoutées
Implémentation
Modèles
ConclusionConclusion
96%
Conclusion
Synthèse
98%
Conclusion
Critiques
98%
Conclusion
Perspectives
Implémentation et tests de Vector-DEVSRéalisation de plus d'études pour faire évoluer l’outilIntégrer le paradigme multi-agentDéveloppement de simulation plus rapides (parallèle-DEVS ?)Capteurs DEVS pour la capture d’information et la simulation temps réel.
100%