Skip to content
Snippets Groups Projects
Commit 8325d5c5 authored by Alexander Diewald's avatar Alexander Diewald
Browse files

Remove fix time scaling, use MOEA routes

parent d0070c3b
No related branches found
No related tags found
No related merge requests found
......@@ -8,4 +8,4 @@ AF3ResourceConnectionAdapter.java 8741ce49893c49ac9d2ae1b8feb0fde440a71092 RED
AF3SignalAdapter.java c06b7eb4bc0b3036d3d1b8d9fd42391e33513214 RED
AF3SystemModelAdapter.java e391d3bb2c075660309944dd0149cd9ec2f314ad RED
AF3TaskAdapter.java 3808a07fdfcd92ed9a6d1818de19b97c183e8c5d RED
AF3TransmissionUnitAdapter.java 5c64e6ffa32c34192bc944b3db4612d1fc175088 RED
AF3TransmissionUnitAdapter.java ddf19d48805623248a260facd4fc00baef2c62ad RED
......@@ -16,6 +16,7 @@
package org.fortiss.af3.exploration.alg.dse.sysmodel.arch.af3;
import static org.fortiss.af3.exploration.alg.util.AF3Utils.getAnnotationChecked;
import static org.fortiss.tooling.base.utils.AnnotationUtils.getAnnotationValue;
import java.util.Collection;
......@@ -46,7 +47,7 @@ public class AF3TransmissionUnitAdapter extends AF3ResourceAdapter<TransmissionU
Collection<IResourceAdapter> connectedResources;
/** {@link TransmissionUnit} bandwidth annotation */
TransmissionUnitBandwidth transmissionUnitBandwidth;
Double transmissionUnitBandwidth;
/** {@link TransmissionUnit} power consumptions annotation */
Double transmissionUnitPower;
......@@ -65,11 +66,7 @@ public class AF3TransmissionUnitAdapter extends AF3ResourceAdapter<TransmissionU
transmissionUnitPower = getAnnotationChecked(transmissionUnit, TransmissionUnitPower.class)
.getPowerInWatt();
transmissionUnitBandwidth =
getAnnotationChecked(transmissionUnit, TransmissionUnitBandwidth.class);
if(transmissionUnitBandwidth.getBandwidth_MBitS() == 0.0) {
throw new InvalidModelException(transmissionUnit,
"A bandwidth of 0 MB/s is not a valid attribute.");
}
getAnnotationValue(transmissionUnit, TransmissionUnitBandwidth.class, Double.class);
}
/** {@inheritDoc} */
......@@ -82,6 +79,8 @@ public class AF3TransmissionUnitAdapter extends AF3ResourceAdapter<TransmissionU
/** {@inheritDoc} */
@Override
public double getTransmissionDuration(double messageSizeBits) {
return (messageSizeBits / transmissionUnitBandwidth.getBandwidth_MBitS()) * MBITS_TO_BITS;
return (transmissionUnitBandwidth != null)
? ((messageSizeBits / transmissionUnitBandwidth) * MBITS_TO_BITS) : 0;
}
}
IScheduleElement.java 655b5e225ea2f3b41496d57e676512e94eea1ee7 YELLOW
IScheduleTask.java 0c94c70de7044a7dc12cef159c15a54ca101f2ee YELLOW
ResourceSchedule.java 95e59f034907941cad3a59b1468b319b099865b6 YELLOW
SMTStrictTTDecoder.java c908148690ed573cea2136666ea533cb236ce56a RED
SMTStrictTTDecoder.java f795661b152fe106383e4402adf0f0f0dd988c9c RED
ScheduleTaskGraph.java 232627b5c35a9abdb296c1e67c9469dd2e74faf7 RED
ScheduleUtils.java 9fbb035366a4b97b1424e38e5092ef5929d63519 RED
ScheduleUtils.java 9b4dde251d63025e81265983a60948dccc3c780e RED
ScheduledTask.java 0db7b0fefbb799842065b078bfc4a2b8a92d4942 YELLOW
StrictTTDecoder.java a8ad2bdcc56e83f42af94e701097919c7dddb339 RED
StrictTTSchedule.java b036232607adabe03ce89081c69006710d0293a5 RED
......
......@@ -165,6 +165,7 @@ public class SMTStrictTTDecoder extends DecoderModule<StrictTTSchedule> {
Collection<Route> routes =
sigToRoute.getEntries().stream().map(e -> e.getRoute()).collect(toSet());
SuperSet<Route> routeSS = createSuperSet(routes, "Routes", Route.class);
superSets.put(Route.class, routeSS);
// TODO: Do not query the transmissionUnits from the input set but the platform graph.
SuperSet<SignalToRouteAllocationEntry> sigToRouteOut =
......
......@@ -34,8 +34,6 @@ public class ScheduleUtils {
/** Defines how many bits can be fetched at a time. Used to adjust the temporal measurements. */
private final static double CACHE_LINE_IN_BITS = 512;
private final static double USECS_TO_SECS = 1e6;
/** Hiding Constructor. */
private ScheduleUtils() {
// Hiding constructor.
......@@ -62,7 +60,6 @@ public class ScheduleUtils {
interferenceLatency *= (dataSize / CACHE_LINE_IN_BITS);
double overallLatency = (baseTransmissionTime + interferenceLatency);
overallLatency *= USECS_TO_SECS;
return BigDecimal.valueOf(overallLatency);
}
......@@ -76,7 +73,7 @@ public class ScheduleUtils {
public static BigDecimal getLatencyWithoutInterference(Collection<ISignalAdapter> signals,
ITransmissionUnitAdapter commRes) {
long dataSize = getDataSizeOf(signals);
return BigDecimal.valueOf(commRes.getTransmissionDuration(dataSize) * USECS_TO_SECS);
return BigDecimal.valueOf(commRes.getTransmissionDuration(dataSize));
}
/** Returns the */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment