Interface SimulationManagerInterface

All Known Implementing Classes:
SimulationManager

public interface SimulationManagerInterface
Define los controles para gestionar el ciclo de vida y el estado de ejecución de una simulación.
  • Method Summary

    Modifier and Type
    Method
    Description
    Recupera el historial de resultados generado por el motor de simulación.
    Consulta y devuelve el estado actual de la simulación.
    int
    Obtiene el identificador numérico único asignado a esta ejecución.
    int
    Inicia asíncronamente el procesamiento matemático de la simulación en un hilo.
    void
    Refresca el estado interno verificando la finalización de los cálculos en el motor.
  • Method Details

    • getToken

      int getToken()
      Obtiene el identificador numérico único asignado a esta ejecución.

      Precondición: Ninguna.

      Postcondición: Devuelve el token asignado durante el arranque. Si la simulación aún no ha sido arrancada, devuelve -1 de forma predeterminada.

      Returns:
      el token de la simulación.
    • getSimulationStatus

      SimulationStatus getSimulationStatus()
      Consulta y devuelve el estado actual de la simulación.

      Precondición: Ninguna.

      Postcondición: Fuerza una actualización interna para revisar si el motor ha terminado y devuelve el estado resultante (pendiente, en progreso o completado).

      Returns:
      el estado de ejecución de la simulación.
    • updateSimulationStatus

      void updateSimulationStatus()
      Refresca el estado interno verificando la finalización de los cálculos en el motor.

      Precondición: Ninguna.

      Postcondición: Si el motor de simulación confirma que ha procesado todos sus turnos, actualiza el estado de la simulación a completado. En caso contrario, se mantiene sin cambios.

    • getSimulationResult

      SimulationResult getSimulationResult()
      Recupera el historial de resultados generado por el motor de simulación.

      Precondición: Ninguna.

      Postcondición: Traspasa directamente el objeto de resultado devuelto por el motor interno solo si el estado actual es completado. Bloquea la entrega y devuelve nulo si la simulación todavía está pendiente o procesando turnos.

      Returns:
      el historial de resultados, o nulo si no ha concluido.
    • startSimulation

      int startSimulation()
      Inicia asíncronamente el procesamiento matemático de la simulación en un hilo.

      Precondición: Ninguna.

      Postcondición: Encola el motor de simulación en un hilo secundario para procesar los turnos de manera paralela. Cambia el estado a en progreso y emite un nuevo token mayor o igual a cero. Si el gestor ya fue arrancado, ignora la orden y devuelve el mismo token original para prevenir repeticiones.

      Returns:
      el token numérico identificador emitido.