Skip to content
Julien Marginier edited this page Mar 21, 2014 · 6 revisions

Point de démarrage

class StartPoint

Un point de démarrage correspond au déclenchement d'un événement à une date/heure donnée. Il est nécessaire d'avoir au minimum UN point de démarrage pour qu'une simulation puisse démarrer. Les points de démarrage interviennent dans l'ordre temporel quelque soit leur date/heure d'ajout. Un composant a la possibilité d'ajouter un point de démarrage pendant la simulation ; cela permet de représenter toute opération temporellement décalée (pour exemple, la compensation).

Contexte de simulation

class Context

Le contexte contient les différentes informations nécessaires à la simulation. Il se configure en amont puis évolue et s'interroge pendant l'exécution.

Les données de configuration :

  • Point de démarrage
  • Liste des composants enregistrés
  • Liste des médiateurs enregistrés (récupérer via une fabrique de médiateur)
  • Liste des abonnements aux événements

Les données d'exécution :

  • Identifiant du contexte courant
  • Point de démarrage courant
  • Date/Heure courante

Simulateur

class Simulator class AsyncSimulator class SimulatorFactory

Le simulateur se décline en deux versions d'un point de vue technique ; un premier synchrone et un deuxième asynchrone permettant de libérer le thread démarrant la simulation. Le simulateur exécute dans l'ordre temporel les différents points de démarrage présents dans la file. Lorsque la file est vide, la simulation est alors terminée. Pour des raisons de cohérence et de simplication, une seule simulation peut être exécutée à la fois.