Une architecture logicielle pour la multi-modélisation

72
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

description

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. - PowerPoint PPT Presentation

Transcript of Une architecture logicielle pour la multi-modélisation

Page 1: 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

Page 2: Une architecture logicielle pour la multi-modélisation

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

Page 3: Une architecture logicielle pour la multi-modélisation

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

Page 4: Une architecture logicielle pour la multi-modélisation

GlossaireFormalisme

Ensemble de structure et de grammaires mathématiques permettant d’exprimer un paradigme.

Glossaire

Page 5: Une architecture logicielle pour la multi-modélisation

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

Page 6: Une architecture logicielle pour la multi-modélisation

GlossaireMulti-modélisation

Modélisation utilisant simultanément plusieurs techniques différentes

Page 7: Une architecture logicielle pour la multi-modélisation

Sommaire

Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives

Problématique

Page 8: Une architecture logicielle pour la multi-modélisation

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

Page 9: Une architecture logicielle pour la multi-modélisation

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%

Page 10: Une architecture logicielle pour la multi-modélisation

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 ?

Page 11: Une architecture logicielle pour la multi-modélisation

Sommaire

Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives

Bases de l’approche

95%

Page 12: Une architecture logicielle pour la multi-modélisation

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

Page 13: Une architecture logicielle pour la multi-modélisation

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

Page 14: Une architecture logicielle pour la multi-modélisation

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

Page 15: Une architecture logicielle pour la multi-modélisation

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

Page 16: Une architecture logicielle pour la multi-modélisation

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

Page 17: Une architecture logicielle pour la multi-modélisation

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

Page 18: Une architecture logicielle pour la multi-modélisation

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

Page 19: Une architecture logicielle pour la multi-modélisation

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%

Page 20: Une architecture logicielle pour la multi-modélisation

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%

Page 21: Une architecture logicielle pour la multi-modélisation

Sommaire

Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives

Existant

16%

Page 22: Une architecture logicielle pour la multi-modélisation

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%

Page 23: Une architecture logicielle pour la multi-modélisation

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%

Page 24: Une architecture logicielle pour la multi-modélisation

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%

Page 25: Une architecture logicielle pour la multi-modélisation

Sommaire

Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives

Le cadriciel

24%

Page 26: Une architecture logicielle pour la multi-modélisation

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%

Page 27: Une architecture logicielle pour la multi-modélisation

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%

Page 28: Une architecture logicielle pour la multi-modélisation

Le cadricielArchitecture globale

Interface graphique

de modélisation

Stockage de

modèles

Cadres

expérimentauxSimulation

Technique X

Access

30%

Page 29: Une architecture logicielle pour la multi-modélisation

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%

Page 30: Une architecture logicielle pour la multi-modélisation

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

Page 31: Une architecture logicielle pour la multi-modélisation

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

Page 32: Une architecture logicielle pour la multi-modélisation

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

Page 33: Une architecture logicielle pour la multi-modélisation

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

Page 34: Une architecture logicielle pour la multi-modélisation

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

Page 35: Une architecture logicielle pour la multi-modélisation

Sommaire

Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives

Techniques ajoutées

42%

Page 36: Une architecture logicielle pour la multi-modélisation

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

Page 37: Une architecture logicielle pour la multi-modélisation

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

Page 38: Une architecture logicielle pour la multi-modélisation

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

Page 39: Une architecture logicielle pour la multi-modélisation

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

Page 40: Une architecture logicielle pour la multi-modélisation

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

Page 41: Une architecture logicielle pour la multi-modélisation

Techniques ajoutées

Automates Cellulaires – Spécification

48%

Page 42: Une architecture logicielle pour la multi-modélisation

Techniques ajoutées

Automates Cellulaires – Exemple

48%

Page 43: Une architecture logicielle pour la multi-modélisation

Techniques ajoutées

Automates Cellulaires – Intégration aux SIG

50%

Liste d’évènements

Recomposition de cartes

Extraction de cartes

Page 44: Une architecture logicielle pour la multi-modélisation

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

Page 45: Une architecture logicielle pour la multi-modélisation

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

Page 46: Une architecture logicielle pour la multi-modélisation

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

Page 47: Une architecture logicielle pour la multi-modélisation

Techniques ajoutées

Vector-DEVS – Exemple

58%

Page 48: Une architecture logicielle pour la multi-modélisation

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

Page 49: Une architecture logicielle pour la multi-modélisation

Techniques ajoutées

Vector-DEVS – Spécification

54%

Page 50: Une architecture logicielle pour la multi-modélisation

Sommaire

Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives

Implémentation

60%

Page 51: Une architecture logicielle pour la multi-modélisation

ImplémentationJDEVS – Architecture

62%

Architecture

StockageInterface SIGInterface graphiqueMoteur de simulationCadres expérimentaux

Page 52: Une architecture logicielle pour la multi-modélisation

ImplémentationJDEVS – Interface Graphique

64%

Bibliothèque

Modélisation

Propriétés du modèle

Contrôle de simulation

Résultats de simulation

Page 53: Une architecture logicielle pour la multi-modélisation

ImplémentationJDEVS – Modèles atomiques

70%

Génération de Code

Ajout de ports et propriétés

Nouveau modèle atomique

Page 54: Une architecture logicielle pour la multi-modélisation

ImplémentationJDEVS – Modèles atomiques

70%

Code généré

Page 55: Une architecture logicielle pour la multi-modélisation

ImplémentationJDEVS – Modèles couplés

70%

Ajout de ports et propriétés

Nouveau modèle Couplé

Page 56: Une architecture logicielle pour la multi-modélisation

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

Page 57: Une architecture logicielle pour la multi-modélisation

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

Page 58: Une architecture logicielle pour la multi-modélisation

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

Page 59: Une architecture logicielle pour la multi-modélisation

Sommaire

Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles Perspectives

Modèles

76%

Page 60: Une architecture logicielle pour la multi-modélisation

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

Page 61: Une architecture logicielle pour la multi-modélisation

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

Page 62: Une architecture logicielle pour la multi-modélisation

ModèlesSystème ferme Photo Voltaïque - Résultats

82%

Page 63: Une architecture logicielle pour la multi-modélisation

ModèlesMouche des Fruits

84%

Cycle de développement

Page 64: Une architecture logicielle pour la multi-modélisation

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%

Page 65: Une architecture logicielle pour la multi-modélisation

ModèlesPolluants

88%

Page 66: Une architecture logicielle pour la multi-modélisation

ModèlesPolluants

90%

Page 67: Une architecture logicielle pour la multi-modélisation

ModèlesPolluants

92%

Page 68: Une architecture logicielle pour la multi-modélisation

ModèlesPolluants

94%

Page 69: Une architecture logicielle pour la multi-modélisation

Sommaire

Problématique Bases de l’approche Existant Le cadriciel Techniques ajoutées Implémentation Modèles ConclusionConclusion

96%

Page 70: Une architecture logicielle pour la multi-modélisation

ConclusionSynthèse

98%

Page 71: Une architecture logicielle pour la multi-modélisation

ConclusionCritiques

98%

Page 72: Une architecture logicielle pour la multi-modélisation

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%