Changes between Version 2 and Version 3 of CaoCourseTme7
- Timestamp:
- Mar 22, 2007, 12:11:10 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CaoCourseTme7
v2 v3 49 49 }}} 50 50 51 = =B) Structures de données51 = B) Structures de données 52 52 53 53 On utilise deux structures de données : … … 55 55 * structure représentant l'échéancier, c'est à dire l'ensemble ordonné des événements. 56 56 57 = B1) Le réseau Booléen57 == B1) Le réseau Booléen 58 58 59 59 Le réseau Booléen est constitué d'un ensemble de signaux et d'un ensemble de processus. … … 104 104 }}} 105 105 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 108 L'échéancier permet d'enregistrer et d'ordonner les événements dans le temps. 109 Ceux-ci sont donc rangés dans une liste doublement chaînée, par dates croissantes. 110 Un événement représente une affection de valeur à un signal à une certaine date. 111 {{{ 110 112 typedef struct event_t { 111 113 signal_t * SIGNAL; // signal modifié … … 115 117 struct event_t * NEXT; // événement suivnt dans l’echéancier 116 118 } 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 }}} 120 L'échéancier peut contenir plusieurs événements à la même DATE, mais portant sur des signaux différents. 121 Ces événements synchrones sont rangés consécutivement dans la liste chaînée, 122 mais l'ordre entre ces événements synchrones n'est pas significatif. 123 L'échéancier représente la liste ordonnée des événements passés, présents, et futurs. 124 Il contient donc en particulier la variable TC qui représente la date courante. 125 {{{ 126 typedef struct scheduler_t { 127 long TC; // Temps Courant 128 event_t * CURRENT; // pointeur sur le premier événement à TC 129 event_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 127 134 128 135 Ce 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.