List of all members.
Public Member Functions |
| AlgorithmAlternativeWcdops (TransactionSet gamma) |
ResultList | calculateAllWcrt () throws AbortedException |
void | checkAlgorithmCompatibility () throws IncompatibleDataException |
List< Task > | hp (Transaction gammaI, Task tauUA) |
double | R (Task tauUA) |
Protected Member Functions |
ConflictsTable | BUILD_CONFLICTS_TABLE (final Task tauAB, final double t, final Transaction gammaI, final Task tauIK) |
ConflictsTable | BUILD_CONFLICTS_TABLE_IN_GAMMAa (Task tauAB, int p_Prime_ab, double t, Transaction gammaA, Task tauAC) |
Set< Task > | H (Transaction gammaI, int j, Task tauAB) |
List< Task > | MP (Transaction gammaI, Task tauAB) |
int | nIPS (Transaction gammaI, Task tauAB) |
int | p_Prime_0 (Transaction gammaI, int j, int k) |
double | phi_Prime (Transaction gammaI, int j, int k) |
double | RESOLVE_CONFLICTS (Task tauAB, double t, Transaction gammaI, Task tauIK) |
double | RESOLVE_CONFLICTS_IN_GAMMAa (Task tauAB, int p_Prime_ab, double t, Transaction gammaA, Task tauIK) |
double | W (Transaction gammaI, int k, Task tauAB, double t) |
double | W (Task tauAB, int p_Prime_ab, double t) |
double | W_forLateJobs (Task tauAB, int p_Prime_ab, double t) |
double | W_Star (Transaction gammaI, Task tauAB, double t) |
List< Task > | XP (Transaction gammaI, Task tauAB) |
Protected Attributes |
final WcdoResultList | wcdopsResult |
Private Member Functions |
double | PHI (Transaction gammaI, int taskIndex) |
Detailed Description
WCDOPS algorithm for calculating WCRT. (Worst-Case Dynamic Offsets with Priority Schemes).
This alternative implementation tries to be as close as possible to the pseudo code and mathematical formulas in the theoretical paper. For this reason the java naming conventions are ignored.
Literature: https://vts.isst.fhg.de/repos/safeware/literatur/scheduling/spain_palencia_harbour/jcp-mgh-1999b.pdf
- Author:
- shanno
Constructor & Destructor Documentation
de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.AlgorithmAlternativeWcdops |
( |
TransactionSet |
gamma |
) |
|
Member Function Documentation
ConflictsTable de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.BUILD_CONFLICTS_TABLE |
( |
final Task |
tauAB, |
|
|
final double |
t, |
|
|
final Transaction |
gammaI, |
|
|
final Task |
tauIK | |
|
) |
| | [protected] |
Taken from jcp-mgh-1999b.pdf, page 6.
- Parameters:
-
| tauAB | τab |
| t | |
| gammaI | Γi |
| tauIK | |
- Returns:
ConflictsTable de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.BUILD_CONFLICTS_TABLE_IN_GAMMAa |
( |
Task |
tauAB, |
|
|
int |
p_Prime_ab, |
|
|
double |
t, |
|
|
Transaction |
gammaA, |
|
|
Task |
tauAC | |
|
) |
| | [protected] |
Taken from jcp-mgh-1999b.pdf, page 9 and reference implementation and SL-Implementation TODO: correct this (much is guessed)
- Parameters:
-
| tauAB | τab |
| p_Prime_ab | |
| t | |
| gammaA | Γa |
| tauAC | τab |
- Returns:
void de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.checkAlgorithmCompatibility |
( |
|
) |
throws IncompatibleDataException [virtual] |
Set<Task> de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.H |
( |
Transaction |
gammaI, |
|
|
int |
j, |
|
|
Task |
tauAB | |
|
) |
| | [protected] |
Taken from jcp-mgh-1999b.pdf, page 5, equation 20
- Parameters:
-
| gammaI | Γi |
| tauAB | τab, low prio task |
- Returns:
List<Task> de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.hp |
( |
Transaction |
gammaI, |
|
|
Task |
tauUA | |
|
) |
| | |
Taken from jcp-mgh-1999b.pdf, page 2, after equation 2
hp(tauab) represents the set of tasks belonging to transaction Γi with priority higher than or equal to the priority of tauab and executing in the same processor as tauab.
- Parameters:
-
| gammaI | Γi |
| tauUA | τab |
- Returns:
- List of Tasks
Reimplemented from de.fraunhofer.isst.axbench.timing.algorithms.AbstractAlgorithm.
List<Task> de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.MP |
( |
Transaction |
gammaI, |
|
|
Task |
tauAB | |
|
) |
| | [protected] |
Taken from jcp-mgh-1999b.pdf, page 5, equation 22 and reference source
Creates a list of tasks from gammaI transaction that belong to the MP set. MP is the set of tasks in this transaction that may preempt τab more than once. Hence tasks in MP must have higher or equal prority than τab and may not be preceded by a task that has a lower prio and that executes in the same PE as τab.
- Parameters:
-
| gammaI | Γi |
| tauAB | τab, low prio task |
- Returns:
int de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.nIPS |
( |
Transaction |
gammaI, |
|
|
Task |
tauAB | |
|
) |
| | [protected] |
only from matlab file, hack
- Parameters:
-
| gammaI | Γi |
| tauAB | τab |
- Returns:
int de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.p_Prime_0 |
( |
Transaction |
gammaI, |
|
|
int |
j, |
|
|
int |
k | |
|
) |
| | [protected] |
p�0,ijk, pStrich0
Taken from jcp-mgh-1999b.pdf, page 4, equation 19
- Parameters:
-
- Returns:
double de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.PHI |
( |
Transaction |
gammaI, |
|
|
int |
taskIndex | |
|
) |
| | [private] |
double de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.phi_Prime |
( |
Transaction |
gammaI, |
|
|
int |
j, |
|
|
int |
k | |
|
) |
| | [protected] |
φ�ijk, phiStrich
Taken from jcp-mgh-1999b.pdf, page 4, equation 17
- Parameters:
-
- Returns:
double de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.R |
( |
Task |
tauUA |
) |
[virtual] |
double de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.RESOLVE_CONFLICTS |
( |
Task |
tauAB, |
|
|
double |
t, |
|
|
Transaction |
gammaI, |
|
|
Task |
tauIK | |
|
) |
| | [protected] |
Taken from jcp-mgh-1999b.pdf, page 6.
- Parameters:
-
| tauAB | τab |
| t | |
| gammaI | Γi |
| tauIk | |
- Returns:
- time
double de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.RESOLVE_CONFLICTS_IN_GAMMAa |
( |
Task |
tauAB, |
|
|
int |
p_Prime_ab, |
|
|
double |
t, |
|
|
Transaction |
gammaA, |
|
|
Task |
tauIK | |
|
) |
| | [protected] |
Taken from jcp-mgh-1999b.pdf, page 9.
- Parameters:
-
| tauAB | τab |
| p_Prime_ab | p�ab |
| t | |
| gammaA | Γa |
| tauIk | τik |
- Returns:
- time
double de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.W |
( |
Task |
tauAB, |
|
|
int |
p_Prime_ab, |
|
|
double |
t | |
|
) |
| | [protected] |
Taken from jcp-mgh-1999b.pdf, page 9, after equation 35
Wac(τab, p�ab, t)
Reference implementation: W_ac (Task * tau_ac, Task * tau_ab, int p_ab, double w)
- Parameters:
-
| tauAB | τab |
| p_Prime_ab | p�ab |
| t | |
- Returns:
double de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.W |
( |
Transaction |
gammaI, |
|
|
int |
k, |
|
|
Task |
tauAB, |
|
|
double |
t | |
|
) |
| | [protected] |
Taken from jcp-mgh-1999b.pdf, page 5, equation 23
Wik(τab, t)
- Parameters:
-
| gammaI | Γi |
| k | Task index |
| tauAB | τab |
| t | |
- Returns:
double de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.W_forLateJobs |
( |
Task |
tauAB, |
|
|
int |
p_Prime_ab, |
|
|
double |
t | |
|
) |
| | [protected] |
double de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.W_Star |
( |
Transaction |
gammaI, |
|
|
Task |
tauAB, |
|
|
double |
t | |
|
) |
| | [protected] |
W*i(τab, t)
Taken from jcp-mgh-1999b.pdf, page 7, equation 28
- Parameters:
-
| gammaI | Γi |
| tauAB | τab |
| t | |
- Returns:
List<Task> de.fraunhofer.isst.axbench.timing.algorithms.AlgorithmAlternativeWcdops.XP |
( |
Transaction |
gammaI, |
|
|
Task |
tauAB | |
|
) |
| | [protected] |
Taken from jcp-mgh-1999b.pdf, page 7, near equation 28
- Parameters:
-
| gammaI | Γi |
| tauAB | τab |
- Returns:
Member Data Documentation