Sauvegarde de la chronique des événements

L'utilisateur peut demander la sauvegarde sur un ou plusieurs fichiers des informations sur les dépilements d'événements survenus au cours de la simulation. Une telle demande porte soit sur l'ensemble des classes d'événements (les informations seront alors sauvegardées sur le même fichier), soit sur une classe d'événements particulière.

Voici des exemples des diverses requêtes admises :

SAVE EVENT "classe_event_1" "file_1.txt" NEW DATE_MHY;

Les dépilements des événements de nom de classe "classe_event_1" seront sauvegardés dans le fichier file_1.txt en écrivant dans celui-ci à partir de son début (NEW : écrasement d'éventuelles données s'y trouvant déjà). Le fichier est créé s'il n'existe pas encore.

SAVE EVENT "classe_event_1" "file_1.txt" APPEND DATE_HDM;

Les dépilements des événements de nom de classe "classe_event_1" seront sauvegardés dans le fichier file_1.txt en écrivant dans celui-ci après le dernier enregistrement (APPEND : respect d'éventuelles données s'y trouvant déjà) ou à partir du début si le fichier est vide. Le fichier est créé s'il n'existe pas encore.

SAVE EVENT "all_eventClasses" "file_2.txt" NEW DATE_DMY;

Les dépilements des événements de toutes les classes seront sauvegardés dans le fichier file_2.txt. Une telle requête inhibe toutes les requêtes portant sur une classe particulière, qu'elles soient déclarées antérieurement ou postérieurement dans le fichier de spécification des sorties.

Chaque demande se traduit par la création d'une instance de la classe EventOutputSpec. Juste après cette création, une telle instance ne contient que le nom de la classe d'événements (ou la chaîne de caractères "all_eventClasses") et la référence à un fichier externe sur lequel on veut sauvegarder les informations. Au cours de la simulation, et plus précisément lors de chaque dépilement d'un événement de l'agenda, un couple {nom de classe de l'événement, date de dépilement} est ajouté à une liste attachée à l'instance de EventOutputSpec appropriée.
La liaison entre une classe d'événements et l'instance de EventOutputSpec correspondante est faite lors de l'attribution d'un nom de classe (par ClassName exclusivement) aux événements de la classe, généralement dans le constructeur de la classe (voir page 'La classe des événements'). DIESE cherche à ce moment s'il a été créé une instance de EventOutputSpec dont la chaîne de caractères renvoyée par TargetClassName est identique au nom de classe de l'événement en cours de construction. En cas de succès, la référence à l'instance de EventOutputSpec est attachée à l'événement, pour être exploitée lors de son dépilement.
La fonction DisplayEventOutputSpecs fournit une exploitation standard des enregistrements des dépilements d'événements.


This page was generated with the help of DOC++.