3.3 Détails techniques de notre méthode :
3.3.1 Structures de données :
Les structures de données qui ont permis
d'implémenter nos algorithmes sont les suivantes :
INSTANCE :
char nom_fichier [10] : chaîne de caractères qui
indique le nom de l'instance dans la bibliothèque.
INSTANCE *next : pointeur qui pointe sur l'élément
suivant de type INSTANCE. INSTANCE *prev : pointeur qui pointe sur
l'élément précèdent de type INSTANCE.
COMBTYPOP :
INSTANCE *head : pointeur qui pointe sur la tête de la
liste des noeuds de type INSTANCE.
COMB_TYP_OP *next : pointeur qui pointe sur
l'élément suivant de type COMB_TYP_OP.
OPERATEURS :
COMB_TYP_OP *head : pointeur qui pointe sur la tête de la
liste des noeuds de type COMB_TYP_OP.
char operateur [20] : chaîne de caractère qui
indique le nom du composant dans la partie opérative.
OPERATEURS *next : pointeur qui pointe sur
l'élément suivant de type OPERATEURS.
OPERATEURS *prev : pointeur qui pointe sur
l'élément précèdent de type OPERATEURS.
COMBOPS :
char operation [20] : chaîne de caractères qui
indique le nom de l'instance d'une combinaison pour un type
d'opérateur donné.
float surface : surface d'une combinaison d'un type
d'opérateur donné. float temps : temps d'une combinaison d'un
type d'opérateur donné.
float puissance : puissance d'une combinaison d'un type
d'opérateur donné.
COMB_OPS *next : un pointeur qui pointe sur
l'élément suivant de
type COMB_OPS.
COMB_OPS *prev : un pointeur qui pointe sur
l'élément précédent de
type COMB_OPS .
3.3.2 Formats des enregistrements des fichiers :
Structure d'enregistrement du fichier NBTRACES :
nb traces
nb_traces : entier qui indique le nombre de traces.
Structure d'enregistrement du fichier DONNEES :
typ_op
|
|
nb_instances_bibl
|
|
|
|
|
nb_instances_systm
|
|
|
|
|
typ_op : chaîne de caractères qui indique le nom de
l'opération dans la partie opérative.
nb_instances_bibl : entier qui indique le nombres d'instances de
cette
opération dans la bibliothèque.
nb_instances_systm : entier qui indique le nombres d'instances
de cette opération dans la partie opérative.
Structure d'enregistrement du fichier relatif à
une instance donnée:
Chaque instance d'un opérateur donné se trouvant en
bibliothèque est caractérisée par sa surface, son temps
d'exécution et sa consommation d'énergie.
s : Réel qui indique la surface de cette instance.
t : Réel qui indique le temps de cette instance. e :
Réel qui indique l'énergie de cette instance.
Structure des enregistrements du fichier TRACE T:
num_cycle : Entier qui indique un numéro de cycle pour la
TRACE T.
mot* : Ensemble de chaînes de caractères
qui indique les opérations à exécuter au cycle
num_cycle de la TRACE T.
NOTE : Pour chaque opérateur se
trouvant dans la partie opérative, il existe au moins une trace
où cette opération est exécutée N fois dans un
cycle donné, N étant le nombre d'instances de cet
opérateur dans la partie opérative.
Du fait que N est le nombre d'instances de cet opérateur
dans la partie opérative, alors:
- il ne peut exister de trace où cette opération
est exécutée M fois (M>N) dans un même cycle
donné.
- il peut exister un cycle dans une trace donnée où
cette opération est exécutée K fois (0 = K = N).
Structure des enregistrements des fichiers
DPi:
num_cycle : Entier qui indique le numéro de cycle pour une
trace donnée. mot* : Ensemble de chaînes de
caractères indiquant les instances à utiliser durant le cycle
num_cycle de la trace i.
|