Changes between Version 2 and Version 3 of CaoCourseTme7


Ignore:
Timestamp:
Mar 22, 2007, 12:11:10 PM (18 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme7

    v2 v3  
    4949}}}
    5050
    51 == B) Structures de données
     51= B) Structures de données
    5252
    5353On utilise deux structures de données :
     
    5555 * structure représentant l'échéancier, c'est à dire l'ensemble ordonné des événements.
    5656 
    57 = B1) Le réseau Booléen
     57== B1) Le réseau Booléen
    5858
    5959Le réseau Booléen est constitué d'un ensemble de signaux et d'un ensemble de processus.
     
    104104}}}
    105105
    106 B2) L’échéancier
    107 
    108 L'échéancier permet d'enregistrer  et d'ordonner les événements dans le temps. Ceux-ci sont donc rangés dans une liste doublement chaînée, par dates croissantes. Un événement représente une affection de valeur à un signal à une certaine date.
    109 
     106== B2) L’échéancier
     107
     108L'échéancier permet d'enregistrer  et d'ordonner les événements dans le temps.
     109Ceux-ci sont donc rangés dans une liste doublement chaînée, par dates croissantes.
     110Un événement représente une affection de valeur à un signal à une certaine date.
     111{{{
    110112typedef struct event_t {
    111113signal_t                * SIGNAL;               // signal modifié
     
    115117struct event_t  * NEXT;         // événement suivnt dans l’echéancier
    116118} event_t;
    117 
    118 L'échéancier peut contenir plusieurs événements à la même DATE, mais portant sur des signaux différents. Ces événements synchrones sont rangés consécutivement dans la liste chaînée, mais l'ordre entre ces événements synchrones n'est pas  significatif. L'échéancier représente la liste ordonnée des événements passés, présents, et futurs. Il contient donc en particulier la variable TC qui représente la date courante.
    119 
    120  typedef struct scheduler_t {
    121  long             TC;                   // Temps Courant
    122  event_t        * CURRENT;              // pointeur sur le premier événement à TC
    123  event_t        * FIRST;                // pointeur sur le premier événement de la liste
    124  } scheduler_t
    125 
    126 C/ Fonctions d'accès aux structures de données
     119}}}
     120L'échéancier peut contenir plusieurs événements à la même DATE, mais portant sur des signaux différents.
     121Ces événements synchrones sont rangés consécutivement dans la liste chaînée,
     122mais l'ordre entre ces événements synchrones n'est pas  significatif.
     123L'échéancier représente la liste ordonnée des événements passés, présents, et futurs.
     124Il contient donc en particulier la variable TC qui représente la date courante.
     125{{{
     126typedef struct scheduler_t {
     127long              TC;                   // Temps Courant
     128event_t         * CURRENT;              // pointeur sur le premier événement à TC
     129event_t         * FIRST;                // pointeur sur le premier événement de la liste
     130} scheduler_t
     131}}}
     132
     133= C/ Fonctions d'accès aux structures de données
    127134
    128135Ce paragraphe définit les différentes fonctions permettant d’accéder aux structures de données définies ci-dessus. Dans un premier temps le code binaire exécutable de ces fonction vous est fourni, et vous pourrez utiliser ces fonctions pour construire en mémoire le réseau Booléen, construire et initialiser l’échéancier, et écrire la boucle principale de simulation qui a été présentée en cours. Dans un deuxième temps, il vous sera demandé d’écrire vous-même le code de ces fonctions.