Package org.seamcat.model.plugin.system
Interface SimulationInstance
-
public interface SimulationInstance
This is the part of aSystemPlugin
that describes how a simulation should be performed. A Simulation Instance will have to implement the different methods used as part of the SEAMCAT interference simulation engine, i.e. how does it behave when the system acts as a victim system, how does it behave when an interfering system, and so on.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.List<Victim>
getResultingVictims(VictimResultCollector vCollector)
This method allows the victim system to prune its generatedVictim
s.void
interferedVictimSimulation(EventResult eventResult)
The interference engine will adjust all victims by their total interference (unwanted and blocking) and then call this method.void
interferingSystemSimulation(EventResult eventResult, InterferenceLink link, Point2D position)
For the givenInterferenceLink
let the interfering system simulate.void
interferingSystemSimulation(EventResult eventResult, InterferenceLink link, Point2D position, LinkResult positionFromCoLocation)
Will be called with Interference Link is co-Located.void
postEvent(EventResult eventResult)
Called for the victim system to allow final adjustments on the results before EPP invocation.void
victimSimulation(VictimResultCollector collector)
When the owningSystemPlugin
is configured as a victim system this method will be invoked by the simulation engine for each snapshot.
-
-
-
Method Detail
-
victimSimulation
void victimSimulation(VictimResultCollector collector)
When the owningSystemPlugin
is configured as a victim system this method will be invoked by the simulation engine for each snapshot.- Parameters:
collector
- collector for collecting the victim results
-
interferingSystemSimulation
void interferingSystemSimulation(EventResult eventResult, InterferenceLink link, Point2D position)
For the givenInterferenceLink
let the interfering system simulate. This is run after the victim system has simulated so the event result will contain the victim results in theVictimResultCollector
. The interfering system can find its correspondingInterfererResultCollector
from the event resulteventResult.getInterferingSystemResult(link)
.- Parameters:
eventResult
- the event results as they are currentlylink
- interference link of this interfering systemposition
- the position of the interfering system
-
interferingSystemSimulation
void interferingSystemSimulation(EventResult eventResult, InterferenceLink link, Point2D position, LinkResult positionFromCoLocation)
Will be called with Interference Link is co-Located. The position will be the co-Located system position and the LinkResult holds the tx and rx positions.- Parameters:
eventResult
- the event results as they are currentlylink
- interference link of this interfering systemposition
- the position of the interfering systempositionFromCoLocation
- position from co-located part plus the co-location delta
-
interferedVictimSimulation
void interferedVictimSimulation(EventResult eventResult)
The interference engine will adjust all victims by their total interference (unwanted and blocking) and then call this method. The victim system can then perform the necessary adjustments that are needed because of this interference.- Parameters:
eventResult
- the current event result
-
getResultingVictims
java.util.List<Victim> getResultingVictims(VictimResultCollector vCollector)
This method allows the victim system to prune its generatedVictim
s.- Parameters:
vCollector
- the victim system collected results- Returns:
- list of
Victim
s that should be used for calculating the resulting interference
-
postEvent
void postEvent(EventResult eventResult)
Called for the victim system to allow final adjustments on the results before EPP invocation.- Parameters:
eventResult
- the event result produced
-
-