69
1 Mise en œuvre d'un Mise en œuvre d'un outil d'aide au outil d'aide au développement d'une JVM développement d'une JVM modulaire pour système modulaire pour système embarqué embarqué Rodolphe Loué Projet SOLIDOR

Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

Embed Size (px)

DESCRIPTION

Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué. Projet SOLIDOR. Rodolphe Loué. Plan de la présentation. Introduction 1 - Présentation 2 - Objectifs 3 - Mise en œuvre 4 - Perspectives Conclusion. Plan de la présentation. Introduction - PowerPoint PPT Presentation

Citation preview

Page 1: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

1

Mise en œuvre d'un Mise en œuvre d'un outil d'aide au outil d'aide au développement d'une développement d'une JVM modulaire pour JVM modulaire pour système embarquésystème embarqué

Mise en œuvre d'un Mise en œuvre d'un outil d'aide au outil d'aide au développement d'une développement d'une JVM modulaire pour JVM modulaire pour système embarquésystème embarqué

Rodolphe LouéProjet SOLIDOR

Page 2: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

2

Plan de la présentationPlan de la présentation

IntroductionIntroduction1 - Présentation1 - Présentation2 - Objectifs2 - Objectifs3 - Mise en œuvre3 - Mise en œuvre4 - Perspectives4 - PerspectivesConclusionConclusion

Page 3: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

3

Plan de la présentationPlan de la présentation

IntroductionIntroduction1 - Présentation1 - Présentation2 - Objectifs2 - Objectifs3 - Mise en œuvre3 - Mise en œuvre4 - Perspectives4 - PerspectivesConclusionConclusion

Page 4: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

4

Introduction (1/4)Introduction (1/4)

Essor des Essor des architectures architectures embarquéesembarquées

Applications multimédiaApplications multimédia télécommunicationstélécommunications

Page 5: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

5

Introduction (2/4)Introduction (2/4)

Programme Liaison

Page 6: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

6

Introduction (2/4)Introduction (2/4)

Programme Liaison

Page 7: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

7

Introduction (3/4)Introduction (3/4)

Programme

AB

ST

RA

CT

ION

MA

TE

RIE

LLE Modification du programme indépendamment Modification du programme indépendamment

du matérieldu matériel Evolution du matériel indépendamment du Evolution du matériel indépendamment du

programmeprogramme

Page 8: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

8

Introduction (4/4)Introduction (4/4)

mémoiremémoire rapidité d’exécutionrapidité d’exécutioncoût énergétiquecoût énergétique

Optimisation de l’abstraction Optimisation de l’abstraction matérielle selon les critères :matérielle selon les critères :

Page 9: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

9

Plan de la présentationPlan de la présentation

IntroductionIntroduction1 - Présentation1 - Présentation2 - Objectifs2 - Objectifs3 - Mise en œuvre3 - Mise en œuvre4 - Perspectives4 - PerspectivesConclusionConclusion

Page 10: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

10

1 - Présentation (1/2)1 - Présentation (1/2)

SDE

Sélecteur de module

Gestionnaire de type

Projection de

langageM1, M2

Interface utilisateur

Critères de conception

DSP C55x

Alignements requis

spécification

M1

M2

M3

M4

Implantation (modules)

Gestionnaire de type

Page 11: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

11

1 - Présentation (2/2)1 - Présentation (2/2)

Système d’exploitation

Implantation

spécificationAlignement requis

SDElangage1 langage2

MEMOIRE <T>

Implantation1

Version1validée

Version2invalidée

<T>

Implantation2

<référence sur T>

Implantation del’allocation de T

Fonction de construction

de T

Service1 Service2 Service d’allocation

Programme utilisateur

Page 12: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

12

Plan de la présentationPlan de la présentation

IntroductionIntroduction1 - Présentation1 - Présentation2 - Objectifs2 - Objectifs3 - Mise en œuvre3 - Mise en œuvre4 - Perspectives4 - PerspectivesConclusionConclusion

Page 13: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

13

2 - Objectifs2 - Objectifs

Utilisation des fonctions de Utilisation des fonctions de construction de typeconstruction de type

Création d’information sur le typeCréation d’information sur le type

Rendre le gestionnaire de Rendre le gestionnaire de type polyvalenttype polyvalent

Page 14: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

14

Plan de la présentationPlan de la présentation

IntroductionIntroduction1 - Présentation1 - Présentation2 - Objectifs2 - Objectifs3 - Mise en œuvre3 - Mise en œuvre4 - Perspectives4 - PerspectivesConclusionConclusion

Page 15: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

15

Les types dans SDELes types dans SDE Type opaque : bloc contigu (opaque(5)) Type externe : déclaré dans la spécification Type composé

– structure : concaténation de type (struct {...})– union : superposition de type

simple : taille de sa composante la plus volumineuse (union {...}) avec sélecteur de type : fonction retournant le type de l’union

(union <sélecteur_de_type> {…})

– tableau : ensemble d’éléments indexés d’un type classique (opaque(1)[2]) dynamique : fonction retournant la taille de la dimension

(opaque(3)[<fonction_de_dimension>])

Page 16: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

16

inversion du typeinversion du type

Propriété : un type est

– représenté par un arbre– construit par une grammaire LALR

Type ::= Type_TableauType_Tableau ::= Type Dim

Exemple : type [5][2][7]

Page 17: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

17

inversion du typeinversion du type

Type

Type Dim

Type Dim

Type Dim

type[5][2][7]

type[5][2]

type[5]

type

[7]

[2]

[5]

Interprété par l’analyseur par :type[7][2][5]

Page 18: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

18

inversion du typeinversion du type

1

2 17

3

4

15

5 107

11

12

8

1413

16

9

6

1918

20

21

22

23

légende

1 racine

structure ou union

tableau

opaque

3

2

8

7

11

10

22

21

20

19

Page 19: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

19

inversion du typeinversion du type

1

3 17

2

4

15

5 118

10

12

7

1413

16

9

6

2218

21

20

19

23

légende

1 racine

structure ou union

tableau

opaque

Page 20: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

20

Tableau dynamique versus fixeTableau dynamique versus fixe

1

2

3

Tableaufixe

Tableaudynamique

(0,0,0)

(0,0,1)

(0,1,0)

(0,1,1)

(0,2,0)

(0,2,1)

(1,0,0)

(1,0,1)

(1,1,0)

(1,1,1)

(1,2,0)

(1,2,1)

(0,0,0)

(0,0,1)

(0,1,0)

(0,1,1)

(1,0,0)

(1,0,1)

(1,1,0)

(1,2,0)

(1,2,1)

(1,2,2)

(2,0,0)

(3,0,0)

Représentation spatiale Représentation mémoire

Descripteurde la dimension 1

Descripteurde la dimension 2

Tableaudynamique

Tableaufixe

Page 21: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

21

Opaque(5) [2][3][<d3>][3]

Page 22: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

22

Opaque(5) [2][3][<d3>][3]

Page 23: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

23

Opaque(5) [2][3][<d3>][3]

Page 24: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

24

Opaque(5) [2][3][<d3>][3]

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(1,0)=2d3(1,1)=1d3(1,2)=1

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(1,0)=2d3(1,1)=1d3(1,2)=1

d3(1,0)=2d3(1,1)=1d3(1,2)=1

d3(1,0)=2d3(1,1)=1d3(1,2)=1

Page 25: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

25

Opaque(5) [2][3][<d3>][3]

Emplacement mémoire de taille indéfinie

Légende

Page 26: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

26

Opaque(5) [2][3][<d3>][3]

Emplacement mémoire de taille indéfinie

Légende

Page 27: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

27

Opaque(5) [2][3][<d3>][3]

Emplacement mémoire de la taille d’un pointeur

Légende

Emplacement mémoire de taille indéfinie

Page 28: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

28

Opaque(5) [2][3][<d3>][3]

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(1,0)=2d3(1,1)=1d3(1,2)=1

Emplacement mémoire de la taille d’un pointeur

Légende

Emplacement mémoire de taille indéfinie

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(1,0)=2d3(1,1)=1d3(1,2)=1

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(1,0)=2d3(1,1)=1d3(1,2)=1

d3(1,0)=2d3(1,1)=1d3(1,2)=1

Page 29: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

29

Opaque(5) [2][3][<d3>][3]

d3(0,0)=1d3(0,1)=1d3(0,2)=3

d3(1,0)=2d3(1,1)=1d3(1,2)=1

Emplacement mémoire de la taille d’un pointeur

Légende

Emplacement mémoire de taille indéfinie

Emplacement mémoire de la taille d’un opaque(5) aligné

048

12162024

48

72

96

144

192

216

3240

5664

8088

104112

136

120128

160152

168176184

200208

224232

Page 30: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

30

Unions avec sélecteur dans un tableauUnions avec sélecteur dans un tableau

Exemple :

union <sel1>{

opaque(4) o1;union <sel2>

{opaque(8) o2;opaque(16) o3;

}[2] u;}[3];

Page 31: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

31

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 32: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

32

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 33: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

33

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

sel1=Type_usel1=Type_o1sel1=Type_u

Page 34: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

34

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

sel1=Type_usel1=Type_o1sel1=Type_u

Page 35: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

35

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

Page 36: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

36

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

opaque(8) o2;

Page 37: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

37

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

opaque(8) o2;

Page 38: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

38

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

opaque(4) o1;

Page 39: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

39

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

Page 40: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

40

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

Page 41: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

41

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

opaque(8) o2;

Page 42: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

42

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

opaque(16) o3;

Page 43: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

43

Légende

Emplacement mémoire de taille indéfinie

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 44: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

44

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

Emplacement mémoire de la taille d’un pointeur

Légende

Emplacement mémoire de taille indéfinie

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 45: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

45

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

Légende

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 46: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

46

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

Légende

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 47: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

47

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 48: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

48

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

u

Page 49: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

49

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

u

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 50: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

50

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

u

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

Emplacement mémoire de la taille d’un opaque(4) aligné

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 51: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

51

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

u

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

Emplacement mémoire de la taille d’un opaque(4) aligné

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 52: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

52

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

u

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

Emplacement mémoire de la taille d’un opaque(4) aligné

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 53: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

53

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

u

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

Emplacement mémoire de la taille d’un opaque(4) aligné

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

Page 54: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

54

sel1=Type_usel1=Type_o1sel1=Type_u

sel2=Type_o2sel2=Type_o2

sel2=Type_o2sel2=Type_o3

u

u

Emplacement mémoire de la taille d’un opaque(4) aligné

Légende

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un opaque(16) aligné

union <sel1> {

opaque(4) o1;union <sel2>

{opaque(8) o2;

opaque(16) o3;

}[2] u;}[3];

048

1216

364044

20

28

48

56

Page 55: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

55

Tableau de structure d’opaque et de tableauTableau de structure d’opaque et de tableau

Exemple :

struct{

opaque(8) o1;opaque(4) [3][<d2>] o2;

}[2][<d1>];

Page 56: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

56

Légende

Emplacement mémoire de taille indéfinie

struct{

opaque(8) o1;opaque(4) [3][<d2>] o2;

}[2][<d1>];

Emplacement mémoire de la taille d’un pointeur

d1(0)=2 d1(1)=1

Page 57: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

57

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

struct{

opaque(8) o1;opaque(4) [3][<d2>] o2;

}[2][<d1>];d1(0)=2 d1(1)=1

Page 58: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

58

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

struct{

opaque(8) o1;opaque(4) [3][<d2>] o2;

}[2][<d1>];d1(0)=2 d1(1)=1

Page 59: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

59

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

struct{

opaque(8) o1;opaque(4) [3][<d2>] o2;

}[2][<d1>];d1(0)=2 d1(1)=1

Page 60: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

60

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

struct{

opaque(8) o1;opaque(4) [3][<d2>] o2;

}[2][<d1>];d1(0)=2 d1(1)=1

Page 61: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

61

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

struct{

opaque(8) o1;opaque(4) [3][<d2>] o2;

}[2][<d1>];d1(0)=2 d1(1)=1

Page 62: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

62

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

struct{

opaque(8) o1;opaque(4) [3][<d2>] o2;

}[2][<d1>];d1(0)=2 d1(1)=1

Page 63: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

63

Légende

Emplacement mémoire de la taille d’un opaque(8) aligné

Emplacement mémoire de la taille d’un pointeur

Emplacement mémoire de taille indéfinie

d2(0,0,0)=3d2(0,0,1)=1d2(0,0,2)=1

d2(0,1,0)=2d2(0,1,1)=1d2(0,1,2)=2

d2(1,0,0)=2d2(1,0,1)=1d2(1,0,2)=3

d1(0)=2 d1(1)=1

struct{

opaque(8) o1;opaque(4) [3][<d2>] o2;

}[2][<d1>];

Emplacement mémoire de la taille d’un opaque(4) aligné

struct{

opaque(8) o1;opaque(4) [3][<d2>] o2;

}[2][<d1>];

d2(0,0,0)=3d2(0,0,1)=1d2(0,0,2)=1

d2(0,0,0)=3d2(0,0,1)=1d2(0,0,2)=1

d2(0,0,0)=3d2(0,0,1)=1d2(0,0,2)=1

d2(0,0,0)=3d2(0,0,1)=1d2(0,0,2)=1

d2(0,1,0)=2d2(0,1,1)=1d2(0,1,2)=2

d2(0,1,0)=2d2(0,1,1)=1d2(0,1,2)=2

d2(0,1,0)=2d2(0,1,1)=1d2(0,1,2)=2

d2(0,1,0)=2d2(0,1,1)=1d2(0,1,2)=2

d2(1,0,0)=2d2(1,0,1)=1d2(1,0,2)=3

d2(1,0,0)=2d2(1,0,1)=1d2(1,0,2)=3

d2(1,0,0)=2d2(1,0,1)=1d2(1,0,2)=3

04

8

162024

36

48

60

84

108

120

28

4044

56

6468

80

7276

9288

96100104

112116

124128

Page 64: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

64

Plan de la présentationPlan de la présentation

IntroductionIntroduction1 - Présentation1 - Présentation2 - Objectifs2 - Objectifs3 - Mise en œuvre3 - Mise en œuvre4 - Perspectives4 - PerspectivesConclusionConclusion

Page 65: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

65

4 - Perspectives4 - Perspectives

Sélecteur de moduleSélecteur de module

–mots clefs (automatisation de la mots clefs (automatisation de la tâche)tâche)

Caractéristiques processeursCaractéristiques processeurs

Page 66: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

66

Plan de la présentationPlan de la présentation

IntroductionIntroduction1 - Présentation1 - Présentation2 - Objectifs2 - Objectifs3 - Mise en œuvre3 - Mise en œuvre4 - Perspectives4 - PerspectivesConclusionConclusion

Page 67: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

67

ConclusionConclusion

Objectifs atteintsObjectifs atteints type avec fonction de descriptiontype avec fonction de description transparence d’utilisation de ce typetransparence d’utilisation de ce type

CritiquesCritiques+ deux compilations distinctes nécessaires (des deux compilations distinctes nécessaires (des

fichiers d’entrée SDE et des fichiers générés par fichiers d’entrée SDE et des fichiers générés par SDE) : modularitéSDE) : modularité

– séparation des différentes stratégies dans SDEséparation des différentes stratégies dans SDE– mémoire optimisée sans tenir compte de sa mémoire optimisée sans tenir compte de sa

fréquence d’utilisationfréquence d’utilisation

Page 68: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

68

Commentaires et questionsCommentaires et questions

Page 69: Mise en œuvre d'un outil d'aide au développement d'une JVM modulaire pour système embarqué

69

Mise en œuvre d'un Mise en œuvre d'un outil d'aide au outil d'aide au développement d'une développement d'une JVM modulaire pour JVM modulaire pour système embarquésystème embarqué

Mise en œuvre d'un Mise en œuvre d'un outil d'aide au outil d'aide au développement d'une développement d'une JVM modulaire pour JVM modulaire pour système embarquésystème embarqué

Rodolphe LouéProjet SOLIDOR

FINFIN