Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué...
-
Upload
juliane-fort -
Category
Documents
-
view
119 -
download
0
Transcript of Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué...
![Page 1: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/1.jpg)
Mise en œuvre d'un outil d'aide au Mise en œuvre d'un outil d'aide au développement d'une JVM développement d'une JVM modulaire pour système embarquémodulaire pour système embarqué
Olivier DERUELLE
Erwan FOUYER
Maxime JOUIN
Rodolphe LOUE
Projet Solidor
![Page 2: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/2.jpg)
2
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
![Page 3: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/3.jpg)
3
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
![Page 4: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/4.jpg)
4
Introduction Introduction (1/3)(1/3)
Les systèmes embarqués :un monde en plein essor
- Applications multimédia
- Télécommunications
- Chargement dynamique d’applications
![Page 5: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/5.jpg)
5
Introduction Introduction (2/3)(2/3)
La solution :le mécanisme de la JVM
- supporte le chargement dynamique d’applications- nouveau standard dans l’industrie
- nombreuses applications
déjà disponibles
![Page 6: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/6.jpg)
6
Introduction Introduction (3/3)(3/3)
Mais l’embarqué impose ses contraintes :
imposeCPU Mémoire
Énergie
Optimisation des ressources
JVM adaptée
![Page 7: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/7.jpg)
7
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
![Page 8: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/8.jpg)
8
1 - Présentation 1 - Présentation (1/5)(1/5)
SDE
Gestionnairede types
Projectionen C
Implémentation
Spécification
Source & Glue
Fonctionnement
Général
Langage
C
![Page 9: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/9.jpg)
9
Interface de SDEInterface de SDE
Utilisation de SDE à travers deux types de fichiers :– fichiers de spécification– fichiers d’ implémentation
Modularité
1 - Présentation 1 - Présentation (2/5)(2/5)
![Page 10: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/10.jpg)
Fichiers de spécificationFichiers de spécification
typedef integer{…}
typedef float{…}
typedef double{…}
service addition_integer(...)
service addition_float(...)
service addition_double(...)
service multiplication_integer(...)
...
operations.idl
typedef thread{…}
typedef fork{…}
service init_thread(…)
service start_thread(…)
service stop_thread(…)
service wait_thread(…)
service get_parent_fork(…)
service wait_fork(…)
…
process.idl
1 - Présentation 1 - Présentation (3/5)(3/5)
![Page 11: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/11.jpg)
Fichiers d ’implémentationFichiers d ’implémentationtype integer { opaque(2) } type float { opaque(4) }type double { opaque(8) }
service addition_integer { addition_2_octets }
service addition_float { addition_4_octets }
service addition_double { addition_8_octets }
service multiplication_integer { multiplication_2_octets }
operation_16_bits.imp
type integer { opaque(4) } type float { opaque(8) }type double { opaque(16) }
service addition_integer { addition_4_octets }
service addition_float { addition_8_octets }
service addition_double { addition_16_octets }
service multiplication_integer { multiplication_4_octets }
operation_32_bits.imp
1 - Présentation 1 - Présentation (4/5)(4/5)
![Page 12: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/12.jpg)
Fichiers d ’implémentationFichiers d ’implémentationtype thread { opaque(1024) } type fork { opaque(4096) }
service init_thread { init_thread_X }
service start_thread { start_thread_X }
service stop_thread { stop_thread_X }
service wait_fork { wait_fork_X }...
Process_X.imp
type thread { opaque(4096) } type fork { opaque(8192) }
service init_thread { init_thread_Y }
service start_thread { start_thread_Y }
service stop_thread { stop_thread_Y }
service wait_fork { wait_fork_Y }...
Process_Y.imp
1 - Présentation 1 - Présentation (5/5)(5/5)
![Page 13: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/13.jpg)
13
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
![Page 14: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/14.jpg)
14
2 - Objectifs du projet2 - Objectifs du projet
Implémentation d’un gestionnaire de types- types fixes
- types variables
Optimisation de la mémoire
- en taille de l’espace utilisé par les objets
- en temps d ’accès aux objets
Allocation mémoire des types créés
![Page 15: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/15.jpg)
15
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
![Page 16: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/16.jpg)
16
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
Types statiques introduits par SDE
Analyse de types statiques
Optimisation mémoire
Types dynamiques introduits par SDE
Analyse de types dynamiques
![Page 17: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/17.jpg)
17
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
Types statiques introduits par SDE
Analyse de types statiques
Optimisation mémoire
Types dynamiques introduits par SDE
Analyse de types dynamiques
![Page 18: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/18.jpg)
18
Types statiques introduits par SDETypes statiques introduits par SDE
Types statiques
– Opaque
– Externe
– Composé
![Page 19: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/19.jpg)
19
Types statiques introduits par SDETypes statiques introduits par SDE
Types statiques
– Opaque
– Externe
– Composé
![Page 20: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/20.jpg)
20
Type opaque (1/2)Type opaque (1/2)
Utilisé dans les fichiers d’ implémentation
Un espace mémoire contigu
Définit les types de base
Types statiques introduits par SDETypes statiques introduits par SDE
![Page 21: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/21.jpg)
21
Type opaque (2/2)Type opaque (2/2)
Typedef int
{}
int.idl
Type int
{
private :
opaque(2);
}
int_2.imp
Types statiques introduits par SDETypes statiques introduits par SDE
![Page 22: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/22.jpg)
22
Types statiques introduits par SDETypes statiques introduits par SDE
Types statiques
– Opaque
– Externe
– Composé
![Page 23: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/23.jpg)
23
Type ExterneType Externe
correspond à un type déclaré par l ’utilisateur :
– soit dans le même fichier de spécification,
– soit dans un autre fichier de spécification.
Types statiques introduits par SDETypes statiques introduits par SDE
![Page 24: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/24.jpg)
24
Types statiques introduits par SDETypes statiques introduits par SDE
Types statiques
– Opaque
– Externe
– Composé
![Page 25: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/25.jpg)
25
Type ComposéType Composé
un type composé est :
– soit une structure
– soit une union
– soit un tableau
Types statiques introduits par SDETypes statiques introduits par SDE
![Page 26: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/26.jpg)
26
Type StructureType Structure
Typedef frame{}
components.idl
Type frame{private : struct {
integer size; string color; … };
}frame_X.imp
Types statiques introduits par SDETypes statiques introduits par SDE
![Page 27: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/27.jpg)
27
Type ComposéType Composé
un type composé est :
– soit une structure
– soit une union
– soit un tableau
Types statiques introduits par SDETypes statiques introduits par SDE
![Page 28: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/28.jpg)
28
Type UnionType Union
typedef Object{}typedef Byte{}typedef Double{}typedef Short{}typedef Int{}
types.idl
type Object{private : union { Byte b;
Double d; Short s; Int i;…
};}
Object.imp
Types statiques introduits par SDETypes statiques introduits par SDE
![Page 29: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/29.jpg)
29
Type ComposéType Composé
un type composé est :
– soit une structure
– soit une union
– soit un tableau
Types statiques introduits par SDETypes statiques introduits par SDE
![Page 30: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/30.jpg)
Type TableauType Tableau
typedef IP_addr{}
typedef Char{}
protocols.idl
type IP_addr{ private:
Char [4];}
Type Char{ private:
opaque(1);}
protocols_v4.imp
type IP_addr{ private:
Char[4];}
Type Char{ private:
opaque(4);}
protocols_v6.imp
Types statiques introduits par SDETypes statiques introduits par SDE
![Page 31: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/31.jpg)
31
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
Types statiques introduits par SDE
Analyse de types statiques
Optimisation mémoire
Types dynamiques introduits par SDE
Analyse de types dynamiques
![Page 32: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/32.jpg)
32
Analyse des types statiquesAnalyse des types statiques
3 étapes :
– Parcours des types définis dans les fichiers de spécification et d ’implémentation
– Génération de macros permettant l ’utilisation des types
– Allocation mémoire du type
![Page 33: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/33.jpg)
33
Macros générées par SDEMacros générées par SDE
Les noms des macros ont la forme suivante :– (global | <module_name>) [_<var_name_1> [_… [_<var_name_N>]]
Macros spécifiques aux Tableaux
Macros spécifiques aux autres types
Analyse des types statiquesAnalyse des types statiques
![Page 34: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/34.jpg)
34
Macros des types statiquesMacros des types statiques
#define types_X_integer(ref) ( (char *) (ref)+OFFSET )
Type integer{private:
opaque(4) ;}
types_X.imp
Typedef integer{}
types.idl
Analyse des types statiquesAnalyse des types statiques
![Page 35: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/35.jpg)
35
Macros des types Tableaux statiquesMacros des types Tableaux statiques
#define types_matrice(ref,i0,i1) ( (char *)(ref)+i0*5*4+i1*4+OFFSET )
Type matrice{private :
opaque(4) [5][2];}
types_X.imp
Typedef matrice{}
types.idl
Analyse des types statiquesAnalyse des types statiques
![Page 36: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/36.jpg)
36
Allocation mémoire statiqueAllocation mémoire statique
une fonction d ’allocation mémoire par type :
– localité spatiale des champs du type :
rapidité d ’accès aux champs
– indispensable dans un contexte multitâche :
mémoire moins fragmentée
processus plus rapides
– retourne une référence
Analyse des types statiquesAnalyse des types statiques
![Page 37: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/37.jpg)
37
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
Types statiques introduits par SDE
Analyse de types statiques
Optimisation mémoire
Types dynamiques introduits par SDE
Analyse de types dynamiques
![Page 38: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/38.jpg)
38
Optimisation mémoire Optimisation mémoire (1/9)(1/9)
État initial du SDE :
Placement
Mémoire
Pas
d ’optimisation
![Page 39: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/39.jpg)
39
Optimisation mémoire Optimisation mémoire (2/9)(2/9)
1- Le placement mémoire :
Alignement 1 :
Alignement 2 :
Accepté par processeur X
Accepté par processeur X
Refusé par processeur Y
Accepté par processeur Y
![Page 40: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/40.jpg)
40
Optimisation mémoire Optimisation mémoire (3/9)(3/9)
1- Le placement mémoire :
Règle 1 :
l’adresse allouée à un objet placé en
mémoire doit satisfaire l’alignement
dicté par le processeur utilisé.
![Page 41: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/41.jpg)
Optimisation mémoire Optimisation mémoire (4/9)(4/9)
2- L’optimisation de l ’espace utilisé :
1
2
4
4
4
8
Alignement Mémoire nonoptimisée
Mémoireoptimisée
Gain de place mémoire : 30%
![Page 42: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/42.jpg)
42
Optimisation mémoire Optimisation mémoire (5/9)(5/9)
2- L’optimisation de l’espace utilisé :
Optimisation 1 :
l’espace restant entre 2 objets placés en
mémoire doit être minimal.
![Page 43: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/43.jpg)
43
Optimisation mémoire Optimisation mémoire (6/9)(6/9)
3- L’alignement des types :
Les structures
Les tableaux
Les unions
Gestions différentes de l’alignement
![Page 44: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/44.jpg)
44
3 x ( 2 )
1 x ( 4 )
2 x ( 8 )
Optimisation mémoire Optimisation mémoire (7/9)(7/9)
Les structures :
Objets à placer
Emplacementdes objets
![Page 45: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/45.jpg)
45
1 x ( 2 )
1 x ( 4 )
1 x ( 8 )
Optimisation mémoire Optimisation mémoire (8/9)(8/9)
Les tableaux :
Objets d’un élémentÉlément
de tableau
Tableau à 2 éléments
Contrainte de spécification : la localité mémoire. Les éléments doivent être placés consécutivement
![Page 46: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/46.jpg)
Optimisation mémoire Optimisation mémoire (9/9)(9/9)
Les unions :
Union composée des 3 structures : , ,
En hachuré, les emplacements laissés libres par les structures : ,,
![Page 47: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/47.jpg)
47
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
Types statiques introduits par SDE
Analyse de types statiques
Optimisation mémoire
Types dynamiques introduits par SDE
Analyse de types dynamiques
![Page 48: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/48.jpg)
48
Types dynamiques introduits par SDETypes dynamiques introduits par SDE
Taille du type connue à l’exécution.
Deux sortes de type dynamique :
– type composé Union
– type composé Tableau
![Page 49: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/49.jpg)
Types Unions dynamiquesTypes Unions dynamiques
typedef Object{}typedef Byte{}typedef Double{}typedef Short{}typedef Boolean{}
types.idl
type Object{private : union <selection_function> { Byte b;
Double d; Short s; Boolean i; …
};}
Object.imp
Types dynamiques introduits par SDETypes dynamiques introduits par SDE
![Page 50: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/50.jpg)
Types Tableaux dynamiquesTypes Tableaux dynamiques
typedef Object{}typedef Byte{}typedef Double{}typedef Short{}typedef Boolean{}
types.idl
type Object{private : union { Byte b;
Double d; Short s; Boolean bo; …
}[dimension_function];}
Object.imp
Types dynamiques introduits par SDETypes dynamiques introduits par SDE
![Page 51: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/51.jpg)
51
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
Types statiques introduits par SDE
Analyse de types statiques
Optimisation mémoire
Types dynamiques introduits par SDE
Analyse de types dynamiques
![Page 52: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/52.jpg)
52
Analyse des types dynamiquesAnalyse des types dynamiques
3 étapes :
– Parcours des types définis dans les fichiers de spécification et d’implémentation
– Génération de macros permettant l’utilisation des types
– Allocation mémoire du type
![Page 53: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/53.jpg)
53
Macros des types Tableaux dynamiquesMacros des types Tableaux dynamiques
#define meta1(ref) ((char *)(ref)+OFFSET)#define types_array(ref,i0) ( (char *) (ref) +*meta1(ref)+i0*4+OFFSET)
Type array{private :
opaque(4) [<dim>];}
types_X.imp
Typedef array{}
types.idl
Analyse des types dynamiquesAnalyse des types dynamiques
![Page 54: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/54.jpg)
54
Allocation mémoire des types dynamiquesAllocation mémoire des types dynamiques
Problème :– Taille du type connue à l’exécution
Solution :– Définition de pointeurs – Réservation d’emplacements pour les adresses– Mise à jour de ces emplacements– Localité mémoire – Retourne une référence
Analyse des types dynamiquesAnalyse des types dynamiques
![Page 55: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/55.jpg)
55
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
![Page 56: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/56.jpg)
56
4 - Perspectives4 - Perspectives
Pour les types
- interface graphique
- génération de Makefile
- séparation entre les classes Java et le langage d’implémentation
Pour l’alignement des objets en mémoire
- algorithme de recherche par arbres
- optimisation de la vitesse d’accès mémoire
![Page 57: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/57.jpg)
57
Plan de la présentationPlan de la présentation
IntroductionIntroduction 1 - Présentation1 - Présentation 2 - Objectifs2 - Objectifs 3 - Mise en œuvre3 - Mise en œuvre 4 - Perspectives4 - Perspectives ConclusionConclusion
![Page 58: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/58.jpg)
58
ConclusionConclusion
Objectifs atteints
- gestionnaire de type réalisé
- optimisation de la taille mémoire utilisée
Critiques
- fichiers générés
- travail modulaire
![Page 59: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/59.jpg)
59
Questions et Questions et commentairescommentaires
![Page 60: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE Projet.](https://reader036.fdocument.pub/reader036/viewer/2022081421/551d9da1497959293b8d1509/html5/thumbnails/60.jpg)
Mise en œuvre d'un outil d'aide au Mise en œuvre d'un outil d'aide au développement d'une JVM développement d'une JVM modulaire pour système embarquémodulaire pour système embarqué
Olivier DERUELLE
Erwan FOUYER
Maxime JOUIN
Rodolphe LOUE
Projet Solidor
FINFIN