1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

39
1 SimExplorer, SimExplorer, une interface une interface d’exploration de d’exploration de simulations en Java simulations en Java par Jérôme TRUFFOT

Transcript of 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

Page 1: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

1

SimExplorer,SimExplorer,une interface d’exploration de une interface d’exploration de

simulations en Javasimulations en Java

par Jérôme TRUFFOT

Page 2: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

2

IntroductionIntroduction

Modélisation – SimulationModélisation – Simulation

Systèmes complexesSystèmes complexes

Réseaux et outilsRéseaux et outils

Page 3: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

3

PlanPlan

1. Présentation du projet1. Présentation du projet1.1. Description du cadre du projet1.1. Description du cadre du projet1.2. Description des objectifs1.2. Description des objectifs

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception3.1 Les paramètres3.1 Les paramètres3.2 Le plan d’expérience factoriel3.2 Le plan d’expérience factoriel

Page 4: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

4

Le cadre du projetLe cadre du projet

1. Présentation du projet1. Présentation du projet1.1. Description du cadre du 1.1. Description du cadre du projetprojet1.2. Description des objectifs1.2. Description des objectifs

2. Phase d’analyse2. Phase d’analyse

3. Détails de conception3. Détails de conception

outils d'aide à la décisionoutils d'aide à la décision

simulation de systèmes simulation de systèmes complexes diversescomplexes diverses

temps de calcul importantstemps de calcul importants

besoin d'outils génériques performants

Page 5: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

5

Les objectifs Les objectifs

1. Présentation du projet1. Présentation du projet1.1. Description du cadre du 1.1. Description du cadre du projetprojet1.2. Description des objectifs1.2. Description des objectifs

2. Phase d’analyse2. Phase d’analyse

3. Détails de conception3. Détails de conception

interface génériqueinterface générique

outils d'aide à l'exploration outils d'aide à l'exploration des simulationsdes simulations

outils de traitement des outils de traitement des résultatsrésultats

distribution des expériences distribution des expériences dans un réseaudans un réseau

Page 6: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

6

PlanPlan

1. Présentation du projet1. Présentation du projet1.1. Description du cadre du projet1.1. Description du cadre du projet1.2. Description des objectifs1.2. Description des objectifs

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception3.1 Les paramètres3.1 Les paramètres3.2 Le plan d’expérience factoriel3.2 Le plan d’expérience factoriel

Page 7: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

7

Les cas d’utilisation simplesLes cas d’utilisation simples

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception

Initialisation des paramètres Initialisation des paramètres de la simulationde la simulation

Exécution de la simulationExécution de la simulation

Visualisation des résultatsVisualisation des résultats

besoin d’automatisation pour l’exploration

Page 8: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

8

Les cas d’utilisation évoluésLes cas d’utilisation évolués

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception

Exploration d’une partie de Exploration d’une partie de l’espace des paramètresl’espace des paramètres

Distribution des expériencesDistribution des expériences

Traitement des résultatsTraitement des résultats

Interface adaptée au domaine Interface adaptée au domaine de la simulationde la simulation

Page 9: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

9

Systèmes, modèles et simulationSystèmes, modèles et simulation

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception

Système

Modèle

Simulation

Page 10: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

10

Modèle de Lotka et VolterraModèle de Lotka et Volterra

Prédateurs

Proies

mangent nourrissent

Page 11: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

11

dL/dt = a.L – b.L.R

dR/dt = d.(b.L.R) – c.R

L = nombre de Lapins (proies)

R = nombre de Renards (prédateurs)

a = taux de croissance des lapins

b = taux de mortalité des lapins

c = taux de mortalité des renards

d = facteur décrivant la quantité de lapins attrapés permettant de créer de nouveaux renards

Modèle de Lotka et VolterraModèle de Lotka et Volterra

Page 12: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

12

dL/dt = a.L – b.L.R

dR/dt = d.(b.L.R) – c.R

L = nombre de Lapins (proies)

R = nombre de Renards (prédateurs)

a = taux de croissance des lapins

b = taux de mortalité des lapins

c = taux de mortalité des renards

d = facteur décrivant la quantité de lapins attrapés permettant de créer de nouveaux renards

Modèle de Lotka et VolterraModèle de Lotka et Volterra

Page 13: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

13

dL/dt = a.L – b.L.R

dR/dt = d.(b.L.R) – c.R

L = nombre de Lapins (proies)

R = nombre de Renards (prédateurs)

a = taux de croissance des lapins

b = taux de mortalité des lapins

c = taux de mortalité des renards

d = facteur décrivant la quantité de lapins attrapés permettant de créer de nouveaux renards

Modèle de Lotka et VolterraModèle de Lotka et Volterra

Page 14: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

14

dL/dt = a.L – b.L.R

dR/dt = d.(b.L.R) – c.R

L = nombre de Lapins (proies)

R = nombre de Renards (prédateurs)

a = taux de croissance des lapins

b = taux de mortalité des lapins

c = taux de mortalité des renards

d = facteur décrivant la quantité de lapins attrapés permettant de créer de nouveaux renards

Modèle de Lotka et VolterraModèle de Lotka et Volterra

Page 15: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

15

dL/dt = a.L – b.L.R

dR/dt = d.(b.L.R) – c.R

L = nombre de Lapins (proies)

R = nombre de Renards (prédateurs)

a = taux de croissance des lapins

b = taux de mortalité des lapins

c = taux de mortalité des renards

d = facteur décrivant la quantité de lapins attrapés permettant de créer de nouveaux renards

Modèle de Lotka et VolterraModèle de Lotka et Volterra

Page 16: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

16

dL/dt = a.L – b.L.R

dR/dt = d.(b.L.R) – c.R

L = nombre de Lapins (proies)

R = nombre de Renards (prédateurs)

a = taux de croissance des lapins

b = taux de mortalité des lapins

c = taux de mortalité des renards

d = facteur décrivant la quantité de lapins attrapés permettant de créer de nouveaux renards

Modèle de Lotka et VolterraModèle de Lotka et Volterra

Paramètres d’entrée• Paramètres de l’état initial :

L0 et R0

• Paramètres de la dynamique :

a, b, c et d

• Scénarios : épidémie

Variables d’état :

L et R Contraintes :

0 < c < 1

Page 17: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

17

La distribution des simulationsLa distribution des simulations

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception

utilisation d'un réseau localutilisation d'un réseau local– plusieurs machines inter-plusieurs machines inter-

connectéesconnectées– multi-plate-formesmulti-plate-formes

exécution des simulationsexécution des simulations– boite noireboite noire– langages de programmation langages de programmation

différentsdifférents distribution des expériencesdistribution des expériences

architecture adaptéearchitecture adaptée

Page 18: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

18

Le paquetage SimExplorerLe paquetage SimExplorer

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception

le paquetage Explorationle paquetage Exploration– le paquetage Paramètresle paquetage Paramètres

– le paquetage Contraintesle paquetage Contraintes

– le paquetage Plan d'expériencele paquetage Plan d'expérience

le paquetage Distributionle paquetage Distribution

le paquetage Résultatle paquetage Résultat

Page 19: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

19

Le paquetage SimExplorerLe paquetage SimExplorer

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception

le paquetage Explorationle paquetage Exploration– le paquetage Paramètresle paquetage Paramètres

– le paquetage Contraintesle paquetage Contraintes

– le paquetage Plan d'expériencele paquetage Plan d'expérience

le paquetage Distributionle paquetage Distribution

le paquetage Résultatle paquetage Résultat

Page 20: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

20

Relations entre les paquetagesRelations entre les paquetages

Exploration Résultat

Distribution

Page 21: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

21

Le paquetage ParamètresLe paquetage Paramètres

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception

Paramètres simplesParamètres simples

Paramètres complexesParamètres complexes

Groupes de paramètresGroupes de paramètres

Utilisation de la notion Utilisation de la notion d’objetd’objet

Page 22: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

22

Diagramme de classes UML du Diagramme de classes UML du paquetage Paramètrespaquetage Paramètres

Page 23: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

23

Objectifs d’une architecture Objectifs d’une architecture réseauréseau

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception

Utilisation des ressources à Utilisation des ressources à dispositiondisposition

Multi-plate-formesMulti-plate-formes

Multi-utilisateursMulti-utilisateurs

Les acteurs en présenceLes acteurs en présence

Page 24: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

24

Les acteursLes acteurs

utilisateur

Les partenaires

Page 25: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

25

Les parties du réseauLes parties du réseau

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception

L’interface SimExplorerL’interface SimExplorer

Le wrapper et l’application Le wrapper et l’application de simulationde simulation

Le serveurLe serveur

Le démonLe démon

Page 26: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

Architecture réseau finaleArchitecture réseau finale

SimExplorer SimExplorer

Serveur

ApplicationSimulation

Wrapper

D

ApplicationSimulation

Wrapper

D

ApplicationSimulation

Wrapper

D

Page 27: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

27

PlanPlan

1. Présentation du projet1. Présentation du projet1.1. Description du cadre du projet1.1. Description du cadre du projet1.2. Description des objectifs1.2. Description des objectifs

2. Phase d’analyse2. Phase d’analyse2.1. Besoins des utilisateurs2.1. Besoins des utilisateurs2.2. Architecture du logiciel2.2. Architecture du logiciel2.3. Architecture réseaux2.3. Architecture réseaux

3. Détails de conception3. Détails de conception3.1 Les paramètres3.1 Les paramètres3.2 Le plan d’expérience factoriel3.2 Le plan d’expérience factoriel

Page 28: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

28

Implémentation des paramètresImplémentation des paramètres

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse

3. Détails de conception3. Détails de conception3.1 Les paramètres3.1 Les paramètres

3.2 Le plan d’expérience 3.2 Le plan d’expérience factorielfactoriel

Exemple 1 : l’individu Exemple 1 : l’individu – String : nomString : nom

– String : prénomString : prénom

– Entier : âgeEntier : âge

– Réel : tailleRéel : taille

Individu

Nom : stringPrénom : stringAge : entierTaille : réel

Page 29: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

29

Implémentation des paramètresImplémentation des paramètres

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse

3. Détails de conception3. Détails de conception3.1 Les paramètres3.1 Les paramètres

3.2 Le plan d’expérience 3.2 Le plan d’expérience factorielfactoriel

Exemple 2 : la familleExemple 2 : la famille– Individu : pèreIndividu : père

» String : nomString : nom

» String : prénomString : prénom

» Entier : âgeEntier : âge

» Réel : tailleRéel : taille

– Individu : mèreIndividu : mère» String : nomString : nom

» String : prénomString : prénom

» Entier : âgeEntier : âge

» Réel : tailleRéel : taille

– ……

Individu

Famille

*

Page 30: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

30

XML, eXtensible Markup LanguageXML, eXtensible Markup Language

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse

3. Détails de conception3. Détails de conception3.1 Les paramètres3.1 Les paramètres

3.2 Le plan d’expérience 3.2 Le plan d’expérience factorielfactoriel

SGML et HTMLSGML et HTML

Fichier texte structuréFichier texte structuré

Caractères unicodesCaractères unicodes

Outils associésOutils associés– Outils de validationOutils de validation

– Outils de transformationOutils de transformation

– Outils de traitementOutils de traitement

Page 31: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

31

Exemple de fichier XMLExemple de fichier XML

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse

3. Détails de conception3. Détails de conception3.1 Les paramètres3.1 Les paramètres

3.2 Le plan d’expérience 3.2 Le plan d’expérience factorielfactoriel

<Famille><Famille>

<Individu membre=<Individu membre=““pèrepère””>>

<Nom>Martin</Nom><Nom>Martin</Nom>

<Prénom>Arthur</<Prénom>Arthur</Prénom>Prénom>

<Age>44</Age><Age>44</Age>

<Taille>1.80</Taille><Taille>1.80</Taille>

</Individu></Individu>

<Individu membre=<Individu membre=“m“mèreère”>”>

……

</Individu></Individu>

</Famille></Famille>

Page 32: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

32

Structure du fichier XMLStructure du fichier XML

Page 33: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

33

Diagramme de classes UMLDiagramme de classes UML

Page 34: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

34

Interface Homme-MachineInterface Homme-Machine

arbre

titre

Description

paramètres

Page 35: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

35

Le plan d’expérience factorielLe plan d’expérience factoriel

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse

3. Détails de conception3. Détails de conception3.1 Les paramètres3.1 Les paramètres

3.2 Le plan d’expérience 3.2 Le plan d’expérience factorielfactoriel

CompletComplet

Sans ordreSans ordre

StatiqueStatique

Une méthode simple et Une méthode simple et rapiderapide

Page 36: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

36

La structure de donnéeLa structure de donnée

Paramètre A Valeur 0 Valeur 1 Valeur 2

Index A

Paramètre B Valeur 0 Valeur 1

Index B

Paramètre C Valeur 0 Valeur 1 Valeur 2 Valeur 3 Valeur 4

Index C

Structure arborescente des paramètres

Paramètre A

Paramètre B

Paramètre C

Valeur A

Valeur B

Valeur C

Page 37: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

37

L’algorithmeL’algorithme

Paramètre A Valeur 0 Valeur 1 Valeur 2

Index A

Paramètre B Valeur 0 Valeur 1

Paramètre C Valeur 0 Valeur 1 Valeur 2 Valeur 3 Valeur 4

Index B

Index C Index C

Index B

Index C

Index B

Index C

Index B

Index C

Index B Index B

Index C Index C

Index B

Index C

Index B

Index C

Index B

Index C

Index B

Page 38: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

38

La version 1.0La version 1.0

1. Présentation du projet1. Présentation du projet

2. Phase d’analyse2. Phase d’analyse

3. Détails de conception3. Détails de conception3.1 Les paramètres3.1 Les paramètres

3.2 Le plan d’expérience 3.2 Le plan d’expérience factorielfactoriel

Gestion des paramètresGestion des paramètres

Distribution en localDistribution en local

Plan d’expérience factorielPlan d’expérience factoriel

Version 2.0 :Version 2.0 : Fichiers de sauvegardeFichiers de sauvegarde GrammairesGrammaires Distribution sans serveurDistribution sans serveur

Page 39: 1 SimExplorer, une interface dexploration de simulations en Java par Jérôme TRUFFOT.

39

ConclusionConclusion

Mise en place des spécificationsMise en place des spécifications

Bases de la conceptionBases de la conception

Poursuite du projetPoursuite du projet

Utilisation par les chercheursUtilisation par les chercheurs