Interface IEnvironment

  • All Known Subinterfaces:
    IEnvironment4Engine
    All Known Implementing Classes:
    AbstractEnvironment, ExtendedEnvironment, PassiveEnvironment

    public interface IEnvironment
    Models the environment of the simulation.

    Correspondence with theory

    An instance of this interface models the environment of the simulation.

    Usage

    This is the ideal interface of an environment, from the perspective of a simulation designer. Because of implementation constraints, the environment has instead to implement the IEnvironment4Engine interface.

    Author:
    Yoann Kubera
    • Method Detail

      • getPublicLocalState

        ILocalStateOfEnvironment getPublicLocalState​(LevelIdentifier level)
        Gets the public local state of the environment for a specific level.

        This method returns the value φω+(t, levelIdentifier) or φω+(]t,t′[, levelIdentifier) ∈Φω+, where the value of ]t,t′[ is defined by the context in which this method is called.

        Parameters:
        level - The level of the public local state of the environment.
        Returns:
        The public local state of the environment for a specific level.
        Throws:
        NoSuchElementException - If no public local state was defined for the specified level.
      • getPrivateLocalState

        ILocalStateOfEnvironment getPrivateLocalState​(LevelIdentifier level)
        Gets the private local state of the environment for a specific level.

        This method returns the value φω-(t, levelIdentifier) or φω-(]t,t′[, levelIdentifier) ∈Φω-, where the value of ]t,t′[ is defined by the context in which this method is called.

        Parameters:
        level - The level of the private local state of the environment.
        Returns:
        The private local state of the environment for a specific level.
        Throws:
        NoSuchElementException - If no private local state was defined for the specified level.
      • natural

        void natural​(LevelIdentifier level,
                     SimulationTimeStamp timeLowerBound,
                     SimulationTimeStamp timeUpperBound,
                     Map<LevelIdentifier,​ILocalStateOfEnvironment> publicLocalStates,
                     ILocalStateOfEnvironment privateLocalState,
                     IPublicDynamicStateMap dynamicStates,
                     InfluencesMap producedInfluences)
        Models the natural action of the environment on the simulation, from a specific level.

        This method models the application natural]t,t+dtl[,l from the theory of SIMILAR.

        Parameters:
        level - The level from which the natural action of the environment is made (i.e. "l" in the notations).
        timeLowerBound - Is the lower bound of the transitory period of the level identified by level from which the natural action of the environment is made (i.e. "t" in the notations).
        timeUpperBound - Is the upper bound of the transitory period of the level identified by level from which the natural action of the environment is made (i.e. t+dtl in the notations).
        publicLocalStates - All the public local states of the environment.
        privateLocalState - The private local state of the environment in the level from which perception is made (i.e. φω-( t, level ) in the notations).
        dynamicStates - The dynamic state of the various levels that can be perceived from the level level. This value has previously been disambiguated by a heuristic defined in the simulation engine.
        producedInfluences - The map where the influences resulting from the natural action are stored.