Class PlantBuildingManager

  • All Implemented Interfaces:
    de.dlr.gitlab.fame.agent.AgentAbility
    Direct Known Subclasses:
    IndividualPlantBuilder, PredefinedPlantBuilder

    public abstract class PlantBuildingManager
    extends de.dlr.gitlab.fame.agent.Agent
    Installs and tears down conventional power plants
    Author:
    Christoph Schimeczek
    • Constructor Detail

      • PlantBuildingManager

        public PlantBuildingManager​(de.dlr.gitlab.fame.agent.input.DataProvider dataProvider)
                             throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
        Parameters:
        dataProvider - contains all input data from config
        Throws:
        de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException - thrown if requested input is not provided
    • Method Detail

      • updateAndSendPortfolio

        public void updateAndSendPortfolio​(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input,
                                           List<de.dlr.gitlab.fame.communication.Contract> contracts)
        Generates a new Portfolio and sends it to a connected agent
        Parameters:
        input - not used
        contracts - one contract to receiver of generated Portfolio - typically a ConventionalPlantOperator
      • updatePortfolio

        protected abstract void updatePortfolio​(de.dlr.gitlab.fame.time.TimeStamp time,
                                                de.dlr.gitlab.fame.time.TimeSpan deliveryInterval)
        Creates new plants and tears down old ones in order to match current and future plant specifications
        Parameters:
        time - the target time when the generated portfolio shall become active
        deliveryInterval - duration for which the portfolio shall be active