Changes between Version 6 and Version 7 of SoclibCourseTp4


Ignore:
Timestamp:
Oct 4, 2009, 9:28:59 PM (15 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp4

    v6 v7  
    2020gestion de versions et supporte le développement coopératif de la plate-forme.
    2121Il permet de stocker les fichiers sources dans une structure hiérarchique arborescente,
    22 bien adapté à une approche de compilation séparée.
     22bien adaptée à une approche de compilation séparée, mais l'exploitation de cette structure
     23pose (au moins) deux problèmes :
    2324
    24 Identifier et localiser
    25 n'est pas un problème simple.
    26 Les archives qui vous a été fournie pour les trois premiers TPs rassemblaient dans un seul répertoire
    27 tous les fichiers nécessaires à la compilation et à la génération du simulateur, ainsi que le Makefile associé.
     25 * Il faut dentifier et localiser tous les fichiers nécessaires à générer le simulateur d'une architecture particulière. Les archives qui vous a été fournie pour les trois premiers TPs rassemblaient dans un seul répertoire
     26tous les fichiers nécessaires, ainsi que le Makefile associé. Mais dans le cas général, cete identification des fichiers nécessaires est un travail non négligeable, à cause des dépendances entre composants logiciels  (le fichier A fait référence à des objets définis dans le fichier B, qui lui-même fait appel au fichier C, etc.). De ce fait, la construction du Makefile permettant est généralement un exercice complexe.
    2827
    29 Dans le cas général, l'identification  tous les fichiers nécessaires à la génération du simulateur d'une architecture particulièredes est un travail non négligeable, à cause des dépendances entre composants logiciels  (le fichier A
    30 fait référence à des objets définis dans le fichier B, qui lui-même fait appel au fichier C, etc.), et
    31 la construction du Makefile permettant de générer le simulateur est généralement un exercice complexe.
    32 
    33 Par ailleurs, la plupart des modèles ont des paramètres templates (puisque la plupart des composants ont des interfaces VCI, et que les largeurs des champs VCI sont paramètrables). Pour chaque composant possédant un
    34 (ou plusieurs) paramètre(s) template, il faut donc modifier le fichier ''.cpp''  pour préciser la valeur des paramètres
     28 * Par ailleurs, la plupart des modèles ont des paramètres templates (puisque la plupart des composants ont des interfaces VCI, et que les largeurs des champs VCI sont paramètrables). Pour chaque composant possédant un (ou plusieurs) paramètre(s) template, il faut donc modifier le fichier ''.cpp''  pour préciser la valeur des paramètres
    3529template avant de lancer la compilation de ce composant (on dit qu'on instancie les paramètres template).
    36 Vous avez fait ce travail dans le TP2, et on a fait ce travail fastidieux pour vous dans le TP3.
     30Vous avez fait ce travail dans le TP2, et c'est un travail très fastidieux dès que les architectures modélisées deviennent complexes.
    3731
    3832La chaîne de compilation SoCLib-CC a pour but de résoudre les deux problèmes dans le cas général,
    39 en automatisant la recherche des dépendances, l'instanciation des paramètres templates et la génération
     33en automatisant la recherche des dépendances, l'instanciation des paramètres templates, et la génération
    4034du Makefile.
    4135       
    4236Pour permettre cette automatisation, tout composant logiciel de SoCLib doit être accompagné d'un fichier
    43 de ''métadata'' (fichier possédant le suffixe ''.sd'') qui contient les informations suivantes:
     37de ''métadata'' (fichier possédant le suffixe '''.sd''') qui contient les informations suivantes:
    4438 * le nom de la classe C++
    45  * les paramètres templates associés, avec lleurs types et les valeurs par défaut
     39 * les paramètres templates associés, avec leurs types et les valeurs par défaut
    4640 * les chemins d'accès aux fichiers d'en-tête (.h) et d'implémentation (.cpp)
    47  * la liste des ports
     41 * la liste des ports d(interface du composant
    4842 * la liste des dépendances vers d'autres composants
    4943 * les paramètres du constructeur, avec leurs types
    50 Ce fichier est écrit en langage Python, et on trouvera ci-dessous à titre d'exemple le fichier de metadata associé
     44Ce fichier est écrit en langage Python, et on trouvera ci-dessous, à titre d'exemple ,le fichier de metadata associé
    5145au composant ''vci_simple_ram'':
    5246{{{