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

Post on 03-Apr-2015

105 views 0 download

Transcript of 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

2

IntroductionIntroduction

Modélisation – SimulationModélisation – Simulation

Systèmes complexesSystèmes complexes

Réseaux et outilsRéseaux et outils

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

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

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

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

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

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

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

10

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

Prédateurs

Proies

mangent nourrissent

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

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

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

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

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

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

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

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

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

20

Relations entre les paquetagesRelations entre les paquetages

Exploration Résultat

Distribution

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

22

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

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

24

Les acteursLes acteurs

utilisateur

Les partenaires

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

Architecture réseau finaleArchitecture réseau finale

SimExplorer SimExplorer

Serveur

ApplicationSimulation

Wrapper

D

ApplicationSimulation

Wrapper

D

ApplicationSimulation

Wrapper

D

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

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

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

*

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

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>

32

Structure du fichier XMLStructure du fichier XML

33

Diagramme de classes UMLDiagramme de classes UML

34

Interface Homme-MachineInterface Homme-Machine

arbre

titre

Description

paramètres

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

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

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

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

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