-
Notifications
You must be signed in to change notification settings - Fork 1
Simulation
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).
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
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.