class Simulation


Méthodes publiques

[more] Constructeurs/Destructeurs
[more] Opérations sur l'agenda d'événements
[more] Gestion de l'horloge de la simulation
[more] Entité simulée, répertoires d'entrées/sorties, etc..


o Constructeurs/Destructeurs

o Simulation()
Constructeur de base. L'horloge est mise à 0, l'agenda d'événements est vide. La période de simulation commence à l'heure réelle courante. L'unité de temps simulé n'est pas indiquée. La fonction d'ordre sur les événements est BeforeByDatePriority. La valeur maximale de l'horloge est le plus grand entier positif.

o Simulation(Simulation&)
Constructeur par copie profonde (y compris des événements de l'agenda)

o ~Simulation()
Destructeur profond (y compris des événements de l'agenda). Comme le destructeur d'événements ne détruit pas les processus associés, c'est dans ce destructeur profond de simulation que les processus créés et non encore détruits sont détruits.

o Opérateurs
        Pas d'opérateur d'affectation fourni, qui supposerait la coexistence de deux simulations. L'expression suivante a un effet imprévisible : Simulation S = *pCurrentSim;

o Opérations sur l'agenda d'événements

ovoid Run(int)
Exécute la simulation, en dépilant l'agenda d'événements jusqu'à ce qu'il soit vide, ou bien qu'un certain nombre de dépilements d'événements, donné en argument, aient eu lieu, ou bien que la date de fin de simulation soit dépassée.

ovoid Run()
Exécute la simulation, en dépilant l'agenda d'événements jusqu'à ce qu'il soit vide, ou bien jusqu'à ce que la date de fin de simulation soit dépassée, et tant qu'un message Stop n'a pas été adressé à la simulation en cours

oint GetIterationCounter() const
Renvoie le numéro d'ordre du dépilement en cours.

oint GetNumId() const
Renvoie le numéro d'identification de la simulation.

ovoid Stop()
Après l'envoi de ce message, la simulation en cours s'arrêtera à la prochaine itération de Run. L'agenda d'événements n'est pas modifié et les événements devront être désalloués, explicitement ou par un appel delete pCurrentSim;.

ovoid DisplayAgendaEvents()
Affiche l'agenda d'événements sur la sortie standard. Les actions sur les processus sont affichées gâce à la fonction StringActionType (voir page 'Fonctions globales/Fonctions diverses').

oBoolean InsertInAgendaEvents(Event*)
Insère un événement dans l'agenda d'événements, selon un ordre déterminé par l'application de la fonction AssignBeforeInAgendaMethod() .

oBoolean InsertInAgendaEvents(Event*, int, int)
Même rôle que la méthode précédent, mais la priorité et l'instant d'occurrence sont ceux fournis en deuxième et troisième arguments

oBoolean DelayInAgendaEvents(Event* pEvent, int delay)
Augmente d'une valeur 'delay' la date d'occurrence de l'evenement 'pEvent' et reprogramme celui-ci. . // + JPR 091021

oEvent* CurrentlyPoppedEvent() const
Renvoie l'événement qui vient d'être retiré de l'agenda d'événements, ou NULL si aucun événement n'a encore été retiré.

ovoid PushBackToAgendaEvents(Event*)
Place un événement en dernière position dans l'agenda d'événements. Ce placement doit normalement respecter l'ordre qu'établit la méthode InsertInAgendaEvents, mais le moteur ne le vérifie pas.

ovoid RemoveFromAgendaEvents(Event*)
Enlève un événement de l'agenda d'événements. La mémoire allouée à l'événement n'est pas libérée (faire éventuellement un delete] sur son pointeur). L'événement doit être dans l'agenda.

ovoid RemoveFromAgendaEvents(Event*, Boolean toRemove)
Même effet que la méthode précédente. En outre, si le second argument eet TRUE, désalloue l'événement et ses processus, en profondeur.

oint AgendaEventSize()
Renvoie le nombre d'événements actuellement présents dans l'agenda.

ovoid AssignBeforeInAgendaMethod(Boolean (* function) (Event* pEv1, Event* pEv2))
Affecte à l'instance de simulation en cours une fonction d'ordre sur les événements de l'agenda. La fonction d'ordre peut être le prédicat prédéfini BeforeByDatePriority (voir la page 'Fonctions diverses'). Elle peut aussi être spécifiée par l'utilisateur, et pour cela déclarée et réalisée dans les fichiers UserFunction.h et .cc (respectivement). Cette fonction d'ordre prend en arguments deux événements quelconques et renvoie TRUE si le premier doit précéder le second dans l'agenda. Le message AssignBeforeInAgendaMethod est normalement envoyé par l'utilisateur dans le programme principal, juste après la création de l'instance de la simulation courante : pCurrentSim->AssignBeforeInAgendaMethod(myFunction);.

ovoid GoHeadInAgenda()
L'evénement de tête devient l'événement courant

ovoid GoNextInAgenda()
L'evénement suivant le courant devient l'événement courant

obool IsCurrentInAgenda()
Renvoie vrai s'il existe un evénement courant

oEvent* GetCurrentInAgenda()
Retourne l'evénement courant dans l'agenda

ovoid RemoveCurrentInAgenda()
Enlève de l'agenda son evénement courant. L'evénement qui le suivait devient l'événement courant.

o Gestion de l'horloge de la simulation

ovoid ClockTimeUnit(TimeUnit)
Détermine l'unité de temps naturelle pour l'expression (par l'utilisateur) du temps simulé

oTimeUnit ClockTimeUnit() const
Renvoie l'unité de temps naturelle dans l'expression (par l'utilisateur) du temps simulé

ovoid ClockTimeUnitQuantity(int)
Détermine le nombre d'unités de temps naturelles dans l'unité de temps simulé.

oint ClockTimeUnitQuantity() const
Renvoie le nombre d'unités de temps naturelles dans l'unité de temps simulé.

oint Clock() const
Renvoie la valeur courante de l'horloge de la simulation. A l'initialisation de la simulation, cette valeur est positionnée à 0. Par la suite et à tout instant, la valeur courante de l'horloge est un nombre entier d'unités de temps simulé depuis le début de la simulation.

ovoid SetEndClock(int)
Affecte une valeur maximale à l'horloge de la simulation. Cette valeur sera aussi la durée de la simulation (puisque la valeur initiale de l'horloge est 0) si l'arrêt de la simulation n'est provoqué que par l'atteinte de cette valeur.

oDate* BeginningDate() const
Renvoie la structure Date correspondant à la date de début de la période simulée.

ovoid SetBeginningDate(int, int, int)
Détermine la date de début de la période simulée : jour, mois (ou le ShortMonthName), millésime (par exemple 2001)

ovoid SetBeginningDate(int, int, int, int, int, int)
Détermine la date de début de la période simulée (jour, mois (ou le ShortMonthName), millésime (par exemple 2001), heure, minutes, secondes)

ovoid SetThisDayBeginningDate(int, int, int)
Détermine la date de début de la période simulée (heure, minutes, secondes). Le jour est supposé être le jour où la simulation est effectuée.

oint EndClock() const
Renvoie la valeur qu'aura l'horloge lors de la fin prévue de la simulation. Cette valeur pourra ne pas être atteinte si l'agenda d'événements devient vide ou si le nombre maximum de dépilements spécifié par l'utilisateur a été réalisé.

oDate* EndDate() const
Renvoie la structure Date correspondant à la date de fin prévue de la simulation

ovoid SetEndDate(int, int, int)
Détermine la date de fin prévue de la période simulée : jour, mois (ou le ShortMonthName), millésime (par exemple 2001)

ovoid SetEndDate(int, int, int, int, int, int)
Détermine la date de fin prévue de la période simulée (jour, mois (ou le ShortMonthName), millésime (par exemple 2001), heure, minutes, secondes).

otm* CurrentTmDate() const
Calcule (et renvoie) la structure tm correspondant à la date simulée courante (c'est-à-dire à la valeur courante de l'horloge).

o Entité simulée, répertoires d'entrées/sorties, etc..

ovoid SimulatedEntity(BasicEntity*)
Associe une entité à la simulation, qui devient l'"entité simulée"

oBasicEntity* SimulatedBasicEntity()
Renvoie l'entité associée à la simulation.

oEntity* SimulatedEntity()

ovoid SetOutDir(char*)
Désigne le chemin d'accès aux fichiers de sortie s'il en existe. Le chemin est absolu, ou bien relatif par rapport au répertoire de lancement de la commande d'exécution. Bien noter que dernier n'est pas toujours celui qui contient le module exécutable. Dans le cas notable d'un lancemente utilisation au travers de l'interface graphique, le répertoire de lancement est celui dans lequel est lancée l'interface.

ochar* GetOutDir()
Retourne le chemin d'accès aux fichiers de sortie, où une chaine vide s'il n'en existe pas.

ovoid SetInDir(char*)
Désigne le chemin d'accès aux fichiers d'entrée s'il en existe. Le chemin est absolu, ou bien relatif par rapport au répertoire de lancement de la commande d'exécution. Bien noter que dernier n'est pas toujours celui qui contient le module exécutable. Dans le cas notable d'un lancemente utilisation au travers de l'interface graphique, le répertoire de lancement est celui dans lequel est lancée l'interface.

ochar* GetInDir()
Retourne le chemin d'accès aux fichiers d'entrée, où une chaine vide s'il n'en existe pas.

ovoid SetPerlFile(char*)
Désigne le chemin d'accès au fichier des routines Perl. Le chemin est relatif par rapport au répertoire de lancement de la commande d'exécution, ou bien absolu.

ochar* GetPerlFile()
Retourne le chemin d'accès au fichier des routines Perl, où une chaine vide s'il n'en existe pas.

oBoolean HasPerlFile()
Retourne vrai si et seulement si le chemin d'accès au fichier des routines Perl n'est pas une chaine vide.


Cette classe n'a pas de classe descendante.

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