Class STNURTE.RTEState

java.lang.Object
it.univr.di.cstnu.algorithms.STNURTE.RTEState
Enclosing class:
STNURTE

public static class STNURTE.RTEState extends Object
Class to represent the data for an execution of STNURTE.rte(Strategy, Strategy).
  • Field Details

    • environmentStrategy

      public STNURTE.NodeAndExecutionTimeChoice environmentStrategy
      Strategy used by the Environment to choose a duration.
    • executionTimeRTEns

      public final org.apache.commons.math3.stat.descriptive.SummaryStatistics executionTimeRTEns
      Execution time statistics. Average execution time for each node (it is cumulative of all other times).
    • executionTimeRTEinitNs

      public final org.apache.commons.math3.stat.descriptive.SummaryStatistics executionTimeRTEinitNs
      Execution time statistics. Average execution time for INIT for each node.
    • executionTimeRTEDecisionNs

      public final org.apache.commons.math3.stat.descriptive.SummaryStatistics executionTimeRTEDecisionNs
      Execution time statistics. Average execution time for the RTEDecision of each controllable node.
    • executionTimeRTEUpdateNs

      public final org.apache.commons.math3.stat.descriptive.SummaryStatistics executionTimeRTEUpdateNs
      Execution time statistics. Average execution time for updating each controllable node.
    • executionTimeObserveNs

      public final org.apache.commons.math3.stat.descriptive.SummaryStatistics executionTimeObserveNs
      Execution time statistics. Average execution time for observing contingent nodes
    • executionTimeHCEns

      public final org.apache.commons.math3.stat.descriptive.SummaryStatistics executionTimeHCEns
      Execution time statistics. Average execution time for each HCE
    • executionTimeHOEns

      public final org.apache.commons.math3.stat.descriptive.SummaryStatistics executionTimeHOEns
      Execution time statistics. Average execution time for each HOE
    • rtedStrategy

      Strategy used by RTED to choose a 'time instant'. '
    • schedule

      public final it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap<LabeledNode> schedule
      Schedule. Map (node, real) that represents the schedule of the network. It is filled by STNURTE.rte(Strategy, Strategy) method.
  • Constructor Details

    • RTEState

      RTEState()
      Default constructor
  • Method Details

    • getOrderedSchedule

      public final it.unimi.dsi.fastutil.objects.Object2IntMap.Entry<LabeledNode>[] getOrderedSchedule()
      Returns:
      the schedule as an array sorted w.r.t. the order of node execution.
    • getSchedule

      public it.unimi.dsi.fastutil.objects.Object2IntMap<LabeledNode> getSchedule()
      Returns:
      a view-only copy of the current schedule.
    • toString

      public final String toString()
      Overrides:
      toString in class Object
      Returns:
      the string representation of the current state
    • getCurrentTimeWindow

      final TimeInterval getCurrentTimeWindow(LabeledNode node)
      Returns:
      a copy of the current time window of the given node, considering its time window and possible waits.
    • updateLowerBound

      final void updateLowerBound(@Nonnull LabeledNode node, int lower)
      Updates the lower bound of the time window of the given node to a lower value. If the node is already executed, it checks that the execution time is ≥ the given lower as a sanity check.
      Throws:
      IllegalStateException - if the update raises an inconsistency.
    • updateUpperBound

      final void updateUpperBound(@Nonnull LabeledNode node, int upper)
      Updates the upper bound of the time window of the given node to upper.

      If the node is already executed, it checks that the execution time is ≤ the given upper as a sanity check.

      Throws:
      IllegalStateException - if the update raises an inconsistency.