simexplorer, une interface d’exploration de simulations en java

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

Upload: brooklyn

Post on 07-Jan-2016

70 views

Category:

Documents


0 download

DESCRIPTION

SimExplorer, une interface d’exploration de simulations en Java. par Jérôme TRUFFOT. Introduction. Modélisation – Simulation Systèmes complexes Réseaux et outils. Plan. 1. Présentation du projet 1.1. Description du cadre du projet 1.2. Description des objectifs 2. Phase d’analyse - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

2

IntroductionIntroduction

Modélisation – SimulationModélisation – Simulation

Systèmes complexesSystèmes complexes

Réseaux et outilsRéseaux et outils

Page 3: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

10

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

Prédateurs

Proies

mangent nourrissent

Page 11: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

20

Relations entre les paquetagesRelations entre les paquetages

Exploration Résultat

Distribution

Page 21: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

22

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

Page 23: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

24

Les acteursLes acteurs

utilisateur

Les partenaires

Page 25: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

Architecture réseau finaleArchitecture réseau finale

SimExplorer SimExplorer

Serveur

ApplicationSimulation

Wrapper

D

ApplicationSimulation

Wrapper

D

ApplicationSimulation

Wrapper

D

Page 27: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

32

Structure du fichier XMLStructure du fichier XML

Page 33: SimExplorer, une interface d’exploration de simulations en Java

33

Diagramme de classes UMLDiagramme de classes UML

Page 34: SimExplorer, une interface d’exploration de simulations en Java

34

Interface Homme-MachineInterface Homme-Machine

arbre

titre

Description

paramètres

Page 35: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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: SimExplorer, une interface d’exploration de simulations en Java

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