Class AggregatePmoo
- java.lang.Object
-
- org.networkcalculus.dnc.feedforward.AbstractArrivalBound
-
- org.networkcalculus.dnc.feedforward.arrivalbounds.AggregatePmoo
-
- All Implemented Interfaces:
ArrivalBound
public class AggregatePmoo extends AbstractArrivalBound implements ArrivalBound
-
-
Field Summary
Fields Modifier and Type Field Description private static AggregatePmoo
instance
-
Fields inherited from class org.networkcalculus.dnc.feedforward.AbstractArrivalBound
configuration, server_graph
-
-
Constructor Summary
Constructors Modifier Constructor Description private
AggregatePmoo()
AggregatePmoo(ServerGraph server_graph, AnalysisConfig configuration)
-
Method Summary
Modifier and Type Method Description java.util.Set<ArrivalCurve>
computeArrivalBound(Turn turn, java.util.Set<Flow> f_xfcaller, Flow flow_of_interest)
Computes the PMOO arrival bound for a set offlows_to_bound
.java.util.Set<ArrivalCurve>
computeArrivalBound(Turn turn, Flow flow_of_interest)
static AggregatePmoo
getInstance()
-
Methods inherited from class org.networkcalculus.dnc.feedforward.AbstractArrivalBound
getConfiguration, getServerGraph, setConfiguration, setServerGraph
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.networkcalculus.dnc.feedforward.ArrivalBound
getConfiguration, getServerGraph, setConfiguration, setServerGraph
-
-
-
-
Field Detail
-
instance
private static AggregatePmoo instance
-
-
Constructor Detail
-
AggregatePmoo
private AggregatePmoo()
-
AggregatePmoo
public AggregatePmoo(ServerGraph server_graph, AnalysisConfig configuration)
-
-
Method Detail
-
getInstance
public static AggregatePmoo getInstance()
-
computeArrivalBound
public java.util.Set<ArrivalCurve> computeArrivalBound(Turn turn, Flow flow_of_interest) throws java.lang.Exception
- Specified by:
computeArrivalBound
in interfaceArrivalBound
- Throws:
java.lang.Exception
-
computeArrivalBound
public java.util.Set<ArrivalCurve> computeArrivalBound(Turn turn, java.util.Set<Flow> f_xfcaller, Flow flow_of_interest) throws java.lang.Exception
Computes the PMOO arrival bound for a set offlows_to_bound
. The difference to the standard output bound method is that this method tries to compute tighter bounds by concatenating as many servers as possible using the PMOO approach. It does so by searching fromserver
towards the sinks of the flows contained inf_xfcaller
until it reaches the server where all these flows first meet each other (the "splitting point"). It then concatenates all servers between the splitting point (inclusive) andserver
(exclusive).- Parameters:
turn
- The turn that all flows of interest flow into.f_xfcaller
- The set of flows of interest.flow_of_interest
- The flow of interest to handle with lowest priority.- Returns:
- The PMOO arrival bounds.
- Throws:
java.lang.Exception
- If any of the sanity checks fails.
-
-