Une architecture logicielle pour la multi-modélisation
description
Transcript of Une architecture logicielle pour la multi-modélisation
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
GlossaireArchitecture
logicielleStructure 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
GlossaireParadigme
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
GlossaireFormalisme
Ensemble de structure et de grammaires mathématiques permettant d’exprimer un paradigme.
Glossaire
GlossaireTechnique de modélisation et
simulationEnsemble des méthode informatique logicielles permettant d’implémenter et de simuler un modèle suivant un formalisme.
Glossaire
GlossaireMulti-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 1Hydrologue
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éraleBesoins 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 CMeta-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 BModè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 simulationUtilisation 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 cadricielMéthode généraux
Découpage sous forme de PackagesUtilisation de Patrons de Conception
Méthodologie UML
Publication en GPL sur le webImplémentation pour test
Outils deConception
Outils deValidation
Présentation en congrès
26%
Le cadricielCas 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 cadricielArchitecture globale
Interface graphique
de modélisation
Stockage de
modèles
Cadres
expérimentauxSimulation
Technique X
Access
30%
Le cadricielInterface 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 cadricielStockage
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 cadricielMoteur de simulation
36%
Processeur
Simulateur Root
Coordinateur
Simulation
Vecteur évènement
Évènement
Modélisation
Modèle
Atomique Couplé
CouplagePort
Vecteur message
Message
Le cadricielCadres expérimentaux
Contrôleur Espace-Simulation
Composant-ProcesseurContrôle
Application AppletLogger
Cadres Expérimentaux
38%
Technique X
AccessContrôle X
Espace-Simulation X
Le cadricielModules techniques spécifiques – Classic DEVS
40%
Classic DEVS
AccessGetSimulationComponent()GetControlComponent()GetCompositionModel()GetNode()GetParser()
Stockage
Parser-modèle-diagramme Noeud-modèle-composition
Contrôle ComposantCoordinateur
Cadres Expérimentaux
Composant-modèle-composition
Interface Graphique
Le cadricielModules techniques spécifiques – Format de fichier
40%
Adapté aux modèles hierarchiques Structures dans modèles couplésLiens URI vers les versions sérialisées des atomiques dans HmLibStandard 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%
Com
parateurSystè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
Bx
54%
Un composant de baseReprésentant un point générique d’une interface
Agent géographiqueVitesseDirectionPosition
Forme d’un phénomèneconstituée d’un ensembled’agents
Gestionnaire de formeIntersectionDé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écutifChaque agent est un modèle atomiqueGestionnaire de Forme est un réseau DSDEVSL’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émentationJDEVS – Architecture
62%
Architecture
StockageInterface SIGInterface graphiqueMoteur de simulationCadres expérimentaux
ImplémentationJDEVS – Interface Graphique
64%
Bibliothèque
Modélisation
Propriétés du modèle
Contrôle de simulation
Résultats de simulation
ImplémentationJDEVS – Modèles atomiques
70%
Génération de Code
Ajout de ports et propriétés
Nouveau modèle atomique
ImplémentationJDEVS – Modèles atomiques
70%
Code généré
ImplémentationJDEVS – Modèles couplés
70%
Ajout de ports et propriétés
Nouveau modèle Couplé
ImplémentationJDEVS – 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émentationJDEVS – 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émentationJDEVS – 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èlesSystè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èlesSystème ferme Photo Voltaïque – Modèle dans JDEVS
80%
Batterie : réservoir d’énergieModèle Feedback-DEVS de vieillissementPerceptron multicouche à rétro propagation du gradient
ModèlesSystème ferme Photo Voltaïque - Résultats
82%
ModèlesMouche des Fruits
84%
Cycle de développement
ModèlesMouche 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èlesPolluants
88%
ModèlesPolluants
90%
ModèlesPolluants
92%
ModèlesPolluants
94%
Sommaire
Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles ConclusionConclusion
96%
ConclusionSynthèse
98%
ConclusionCritiques
98%
ConclusionPerspectives
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%