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 Environment to choice a duration.
    • executionTimeRTEns

      public 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 org.apache.commons.math3.stat.descriptive.SummaryStatistics executionTimeRTEinitNs
      Execution time statistics. Average execution time for each node (it is cumulative of all other times).
    • executionTimeRTEDecisionNs

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

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

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

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

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

      Strategy used by RTED to choice a time instant.
    • schedule

      public 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 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 String toString()
      Overrides:
      toString in class Object
      Returns:
      the string representation of the current state
    • getCurrentTimeWindow

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

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

      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 sanity check.
      Throws:
      IllegalStateException - if the update raises an inconsistency.