Interface SimulationInstance


  • public interface SimulationInstance
    This is the part of a SystemPlugin 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 Detail

      • victimSimulation

        void victimSimulation​(VictimResultCollector collector)
        When the owning SystemPlugin 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 given InterferenceLink let the interfering system simulate. This is run after the victim system has simulated so the event result will contain the victim results in the VictimResultCollector. The interfering system can find its corresponding InterfererResultCollector from the event result eventResult.getInterferingSystemResult(link).
        Parameters:
        eventResult - the event results as they are currently
        link - interference link of this interfering system
        position - 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 currently
        link - interference link of this interfering system
        position - the position of the interfering system
        positionFromCoLocation - 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 generated Victims.
        Parameters:
        vCollector - the victim system collected results
        Returns:
        list of Victims 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